一些不太常用但強大的JavaScript小技巧,新手和老手js開發人員都不一定知道。
1、截斷數組與數組長度
複製代碼代碼如下:var arr1 = arr2 = [1, 2, 3];
//改變arr1
arr1 = []; // arr2則任然是[1,2,3]
你會發現arr1用[]方法來清空不會影響arr2的值,假如要想讓arr1改變後arr2跟著一起改變,則可以這樣
複製代碼代碼如下:
var arr1 = arr2 = [1, 2, 3];
arr1.length=0; //注意這一步而不是arr1=[]
alert(arr2)
這時arr2也被清空了
2、數組合併
複製代碼代碼如下:
var arr1 = [1,2,3];
var arr2 = [4,5,6];
var arr3=arr1.concat(arr2);
alert(arr3)
arr3則變為
複製代碼代碼如下:[1,2,3,4,5,6]
其實還可以用一種簡單的辦法,譬如使用
複製代碼代碼如下:var arr1 = [1,2,3];
var arr2 = [4,5,6];
Array.prototype.push.apply(arr1,arr2);
alert(arr1)
這時arr1就變成了1,2,3,4,5,6
3、瀏覽器特徵檢測
看一下代碼,可以判定你的瀏覽器是否opera
複製代碼代碼如下:if(window.opera){
alert("是opera")
}else{
alert("不是opera")
}
同樣的你還可以這樣
複製代碼代碼如下:if("opera" in window){
alert("是opera")
}else{
alert("不是opera")
}
4、檢查的對像是一個數組
複製代碼代碼如下: var obj=[];
if(Object.prototype.toString.call(obj)=="[object Array]")
alert("是數組");
else
alert("不是數組");
同樣的,你還可以判斷該對像是否是字符串
複製代碼代碼如下: var obj="fwe";
if(Object.prototype.toString.call(obj)=="[object String]")
alert("是字符串");
else
alert("不是字符串");