ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript をケチることを学び、code_javascript スキルを効率化しましょう

JavaScript をケチることを学び、code_javascript スキルを効率化しましょう

WBOY
WBOYオリジナル
2016-05-16 18:28:541054ブラウズ

1. コードをケチって、最も適切なことを行うために最小限のコードを使用します。
たとえば、コードで document.getElementById() を大量に使用する場合、単純な ID セレクターを作成することを検討しましたか

コードをコピーします コードは次のとおりです:

function $(Id)
{
return document.getElementById(Id ; リファクタリング?
たとえば、すでに完全なフォームの規則性検証フレームワークがあり、ある日、特定のフォームが本格的なフレームワークで対応する規則性を見つけられないことが判明した場合、考えられるアプローチは、それを達成するために単純に if を追加することです。なぜコードをクリーンに保つために検証フレームワークの正規表現を拡張してはいけないのでしょうか?
、ケチなコード実行手順
たとえば、ajax コードを記述するとき、次のコードを記述することがよくあります:




コードをコピー
コードは次のとおりです。 var xmlObject; function createXMLHTTPRequest()
{
if(window.ActiveXObject)
{
xmlObject = new ActiveObject( "Microsoft.XMLHTTP");
}
else
{
xmlObject = new XMLHTTPRequest()
}
}


しかし、オブジェクトを生成するたびに一度判断する必要があります。最初にオブジェクトを生成した後にそれを覚えておいて、次回は新しいオブジェクトを作成するだけではどうでしょうか。改善されたコードは次のとおりです



コードをコピー
コードは次のとおりです。 var _ajax = function(){ _self = this;
}
_ajax.prototype = {
/**
* http リクエスト オブジェクトを構築
*/
_create: function(){
var Factory = [
function() {return new XMLHttpRequest();}, //非 IE シリーズ
function(){return new ActiveXObject("Microsoft.XMLHTTP");}, //IE
function() {return new ActiveXObject("Msxml2 .XMLHTTP");} //一部のバージョンの IE
];
for (var i = 0; i try {
if (factories[i ]()) {
return Factory[i];
}
}
catch (e) {
continue;
return Factory[2 ];
}(),
}


このコードには上記よりも多くのステップがあるように見えますが、_ajax._create() が呼び出されるとき初めて、_ajax._create が現在のブラウザと互換性のある匿名関数に変更され、以降の呼び出しでは判断が行われなくなりました。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。