ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript でメソッドを定義するための別の記述方法 (js オブジェクトをバッチで定義する方法)_javascript スキル

JavaScript でメソッドを定義するための別の記述方法 (js オブジェクトをバッチで定義する方法)_javascript スキル

WBOY
WBOYオリジナル
2016-05-16 18:10:22860ブラウズ
コードをコピー コードは次のとおりです。

isArray : function(v){
return toString .apply( v) === '[オブジェクト配列]';
},
isDate : function(v){
return toString.apply(v) === '[オブジェクト日付]';
},
isObject : function(v){
return !!v && Object.prototype.toString.call(v) === '[オブジェクト オブジェクト]'; >isPrimitive : function(v){
return Ext.isString(v) || Ext.isBoolean(v);
},
isFunction : function(v);
return toString.apply(v) === '[オブジェクト関数]';
},
isNumber : function(v){
return typeof v === 'number' && isFinite( v);
},
isString : function(v){
return typeof v === 'string';
},
isBoolean : function(v){
return typeof v = == 'boolean';
}


上記は、Extjs3.X ext-base.js で型を決定するコードです。以下のような類似したものが多数あります:


is type: function(v){
return toString.apply(v) ==="Type";
}
または
is type: function(v){
returntypeof v = =="Type";
}


ただし、tyoeof の内部では、toString メソッドを使用して型を決定できます。つまり、次のようになります。


var is type=function(v){
return toString.call(v) ==="type";
}


上記はモデルであり、この判断に対応するメソッドは簡略化できます。これにより、コードが大幅に削減され、JavaScript の読み込み効率が向上します。


コードをコピーします。 コードは次のとおりです:
var Easy={}, dataTypes = ["Number", "Boolean", "String", "Array",
"オブジェクト", "関数", "日付", "RegExp"];
var toStr = Object.prototype.toString;
var is = function (v, t) {
return toStr( o) == "[オブジェクト " t "]";
};
for ( var i = 0, len = dataTypes.length, t; i (関数 ( t) {
Easy["is" t] = function (o) {
return is(o, t);
}
})(dataTypes[i]);//クロージャを使用する
}


上記のコードでは、Easy オブジェクトは型を決定するために 8 つのメソッドを作成しました。もちろん、一部のメソッドが不合理な場合は、それらをオーバーライドすることもできます。例:


Easy.isNumber=function (v){
return toString.call(v) ==="[オブジェクト番号]"&& isFinite(v);
}


そのため、場合によってはこの書き方を検討することもできます。似たような機能を持ったメソッドをいくつか書いたので、今度はそれについて紹介します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。