[訳]初心者もベテランも恩恵を受けるJavaScriptのテクニック
12663 ワード
この文章は、あまり知られていないが強力なJavaScriptテクニックを共有し、各レベルのJavaScript開発者が利益を得ることができます.
1.配列のlength属性で配列を空にする
JSではオブジェクトタイプが参照によって伝達されることを知っていますが、このルールに制約されることがあります.たとえば、次の例です.
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]
( : , Firefox Chrome ,
http://jsperf.com/javascript-array-concat-vs-push :
http://jsperf.com/array-concat-vs-push-2/14 )
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