ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScriptのisXXシリーズが今後も使われるか分析_javascriptスキル

JavaScriptのisXXシリーズが今後も使われるか分析_javascriptスキル

WBOY
WBOYオリジナル
2016-05-16 18:07:451032ブラウズ
复制代码代码如下:

isNull: function(a){
return a === null;
},
isUn​​define: function(a){
return a === 未定義;
},
isNumber: function(a){
return typeof a === 'number';
},
isString: function(a){
return typeof a === 'string';
},
isBoolean: function(a){
return typeof a === 'boolean';
},
isPrimitive: function(b){
var a = typeof b;
return !!(b === 未定義 || b === null || a == 'ブール' || a == '数値' || a == '文字列');
},
isArray: function(a){
return proto_obj.toString.call(a) === '[オブジェクト配列]';
},
isFunction: function(a){
return proto_obj.toString.call(a) === '[オブジェクト関数]';
},
isPlainObject: function(o){
if (!o || o === win || o === doc || o === doc.body) {
false を返します。
}
return 'isPrototypeOf' in o && proto_obj.toString.call(o) === '[object Object]';
},
isWindow: function(o){
return o && typeof o === 'object' && 'setInterval' in o;
},
isEmptyObject: function(o){
for(var a in o) {
return false;
}
true を返します。
}

以上は XX 系列内で、クラス内で使用される未定義の最大のものです。あるパラメータが渡されたかどうかを判断するように、オブジェクトが何らかのプロパティなどを持っているかどうかを判断します。これは必須ではないため、削除しました。 理由は、次のような
1 は、完全等 (===) または多層関数の型を使用するよりも未定義であるためです。符号効率は低くなりますが(若干の不足はありますが)、未定義の場合、使用回数は数万回にも及びます。以前、この関数をボックスフレームに追加したところ、パフォーマンス分析ツールで確認したところ、使用回数は 4000 回でした。当然のことながら、ボックス枠内は、多層パケットの最上層では定義されておらず、これがさらに不足する場合もある。
2、関数は、ある意味で、いくつかのコードをカプセル化し、抽象化します。これは、良好なコードを構成する方法の 1 つであり、コードの柔軟性を下げるのに役立ちます。 /isBoolean/isNumber/isString 関数内には抽象層の非常に低い句が含まれているため、関数を完全に取り出す必要はありません。

に関しては、クラス内の基本的な型を判断するための isNull/isUnknown/isBoolean/isNumber/isString を削除しました。必要があります。これらを判断する場合には、数値の種類等がそのまま使用される。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。