標籤:
基礎知識
1.注釋/**/ 塊注釋,與Regex有衝突,不安全。
2.js數字類型只有一個,即為64位的浮動值
3.NaN是一個數值,他不能產生正常結果的運算結果。NaN不等於任何值,包括它自己。isNaN檢測是否NaN
4.Js中所有的字元都是16位。
5.函數的聲明和函數的定義:
//函式宣告
console.log(f);
function f(x){
return x;
}
//函數定義
console.log(z);//undefined
var z = function(x){
return x;
};
區別:函數定義,只是變數聲明提前,變數的初始化代碼任然在原來的位置。函式宣告:函數名稱和函數體均提前,指令碼中的所有函數和函數中所嵌套的函數都會在其他代碼前聲明。(變數提升,z是什麼變數都將提升,這裡只是為了說明函式宣告和定義的區別)
數組
var a = [1,,,,5];//其他三個值為undefined 稀疏數組
var b = [1,2,3,4];
var c = [5,6];
1.concat()
b.concat(c);//[1,2,3,4,5,6]
2.join
c.join();//5,6
c.join("");//56
c.join("-");//5-6
3.reverse();倒序
4.splice() //刪除和插入
1)刪除
b.splice(1,2);//1為從第幾個開始,2為刪除幾個
2)插入
b.splice(1,2,33,44,44,22);//1為從第幾個開始,2為刪除幾個,2後面的數值都為插入的數值。
5.迴圈的一些,參數一樣,功能有差異。傳回值也不能。
1)every 傳回值:boolean
b.every(function(v , i , arr){
//v 自身的值,i索引,arr數組
});
2)foreach ,map ,some ,filter
6.slice() 選擇 slice(start,end)//包括start不包括end
事件:
addEventListener( a , b , c)//a為事件名例如click,b調用的函數,c為捕獲處理常式
這個方法為一個對象註冊同一事件類型的多個處理常式函數
var btn = document.getElementById(‘btn‘);btn.addEventListener( ‘click‘, function(){ alert(‘a‘); );btn.addEventListener( ‘click‘, function(){ alert(‘b‘);} );btn.onclick=function(){alert(‘cc‘);};
btn.onclick=function(){alert(‘dd‘);};
//這裡不執行alert("cc");
javascript 特殊的一些知識