[訳]初心者もベテランも恩恵を受けるJavaScriptのテクニック

12663 ワード

この文章は、あまり知られていないが強力なJavaScriptテクニックを共有し、各レベルのJavaScript開発者が利益を得ることができます.
 
1.配列のlength属性で配列を空にする
 
JSではオブジェクトタイプが参照によって伝達されることを知っていますが、このルールに制約されることがあります.たとえば、次の例です. 
var arr1 = arr2 = [1, 2, 3];   

 

//Change arr1 

arr1 = []; // arr2 will still be [1,2,3]


 
arr1 arr2 [1, 2, 3] , arr1 [] , arr2 , [1, 2, 3]. arr1 arr2 [] ?   length   . arr1.lenget = 0 , arr1 . , arr1 arr2 [] .
 
2. push
 
concat() 2 , :
var arr1=[1,2,3];

var arr2=[4,5,6];

var arr3=arr1.concat(arr2);

arr3;

[1, 2, 3, 4, 5, 6]

 

 
push() :
var arr1=[1,2,3];

var arr2=[4,5,6];

Array.prototype.push.apply(arr1,arr2);

arr1

[1, 2, 3, 4, 5, 6]

 

 
 
3.
 
API , . :
 
if(window.opera){

    console.log("OPERA");

}else{

    console.log("NOT OPERA");

}

 

, . , key.
 
if("opera" in window){

    console.log("OPERA");

}else{

    console.log("NOT OPERA");

}

 

4.
 
JavaScript , typeof . typeof :   number  ,   boolean,   string,   object,   function     undefined.   array  . object . ? ECMAScript 5 , Array.isArray(object) . ECMAScript 5 .
 
:
 
var obj=[];

Object.prototype.toString.call(obj)=="[object Array]";

true