javascriptの学会のけちな簡素化コード
1747 ワード
1、ケチなコードで、一番少ないコードで最適なことをします.
例えば、あなたのコードには多くのdocument.getElemenntByIdが使われていますが、簡単なIDセレクタを書くことを考えていますか?
例えば、完全なフォーム正則検証フレームを持っていますが、ある日、あるフォームが深刻なフレームの中で対応の正則が見つからないことを発見しました.あなたの可能なやり方はifを追加することで簡単に実現できます.なぜ検証フレームの中に正則を広げず、コードの綺麗さを保つことができますか?
、ケチコード実行のステップ
たとえば、私たちはajaxコードを書く時、よく下記のコードを書きます.
例えば、あなたのコードには多くのdocument.getElemenntByIdが使われていますが、簡単なIDセレクタを書くことを考えていますか?
function $(Id)
{
return document.getElementById(Id);
}
2、あなたのパッチをけちけちして、機能を実現するために既存のフレームにパッチをかけるのではなく、フレーム拡張に実現を書くべきです.フレームが拡張できないなら、部分的な再構成を考慮しますか?例えば、完全なフォーム正則検証フレームを持っていますが、ある日、あるフォームが深刻なフレームの中で対応の正則が見つからないことを発見しました.あなたの可能なやり方は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 factories = [
function(){return new XMLHttpRequest();}, // IE
function(){return new ActiveXObject("Microsoft.XMLHTTP");}, //IE
function(){return new ActiveXObject("Msxml2.XMLHTTP");} //IE
];
for (var i = 0; i < factories.length; i++) {
try {
if (factories[i]()) {
return factories[i];
}
}
catch (e) {
continue;
}
}
return factory[2];
}(),
}
このコードは上のステップよりも多く実行されているように見えますが、初めて呼び出したときに_ajax._create()の後、_ajax._createは現在のブラウザに対応する匿名関数に変更されました.今後の呼び出しはもう判断できません.