各言語には独自の特徴があります。JavaScript の場合、var を使用して任意の型の変数を宣言できます。このスクリプト言語は非常に単純に見えますが、洗練されたコードを記述するには継続的な経験の蓄積が必要です。この記事では、JavaScript 初心者が注意すべき 7 つの詳細をリストし、それらを共有します。
(1) コードを簡略化する
-------------------------------- -----------------------------------------------
JavaScript はオブジェクトと配列を定義するのが非常に簡単です。通常は次のように記述してオブジェクトを作成します。
var car = new Object();
car.colour = 'red';
car.wheels = 4;回転';
car.age = 4;
次の記述でも同じ効果が得られます:
var car = {
colour:'red',
wheels:4,
hubcaps:'spinning',
age:4
}
以降は非常に短く、オブジェクト名を繰り返し記述する必要はありません。
さらに、配列を記述する簡潔な方法もあります。以前は、次のように配列を宣言しました。
var movieThatNeedBetterWriters = new Array(
'Transformers','Transformers2','Avatar','Indiana Jones 4'
); >
詳細 簡潔に書く方法は次のとおりです:
'Transformers','Transformers2','Avatar','Indiana Jones 4'
]; 配列の場合は、は連想配列のような特別なものです。 多くのコードが次のようなオブジェクトを定義していることがわかります:
コードをコピーします
これはおかしなことです。「連想配列」は単なるオブジェクトのエイリアスです。
コードを簡素化するもう 1 つの方法は、三項演算子を使用することです。例:
コードをコピーします
コードは次のとおりです。
次のコードを使用してこの記述を置き換えることができます:
コードをコピーします
コードは次のとおりです。次のように:
var directive = x (2) データ形式として JSON を使用します。 >データを保存するための優れた Douglas Crockford JSON データ形式によって発明され、ネイティブ JavaScript メソッドを使用して、追加の変換を行わずに複雑なデータを保存できます。例:
コードをコピー
コードは次のとおりです: var Band = {
"name":"マイケル 'フリー' バルザリー" ,
" 役割":"ベースギター、トランペット、バッキングボーカル"
},
{
"名前":"チャド・スミス",
"役割":"ドラム、パーカッション"
},
{
"名前":"ジョン・フルシアンテ",
"役割":"リードギター"
}
],
"年":"2009 "
}
JSON は JavaScript で直接使用することも、API によって返される形式としても使用できます (
など)。
コードをコピーします
コードは次のとおりです:
<script> <br>function fresh(o){ <br>var out = '<ul>'; for(var i=0;i<o.length>out = '<li><a href="' o[i].u '">' ].d '</a></li>'; <br>} <br>out = '</ul>'; <BR>document.getElementById('delicious').innerHTML = out; 🎜>} <BR></script>
ここでは、delicious の Web サービスを呼び出して最新のブックマークを取得し、それらを JSON 形式で返し、順序なしリストに表示します。
本質的に、JSON は複雑なデータを記述するための最も軽量な方法であり、ブラウザーで直接実行されます。 PHP で json_decode() 関数を呼び出して使用することもできます。
(3) JavaScript ネイティブ関数を使ってみる
---------------------------- --------------------------------------------------
一連の数値の最大値を見つけるには、次のようなループを作成します。 for(var i=0;i
if(数値[i] > 最大){
最大 = 数値[i]>}
}
アラート(最大); >実際には必要ありません ループで同じ機能を実現できます:
コードをコピー
doc. documentElement.scrollTop,
コードをコピー
コードは次のとおりです:
脚本如下:
// 古典的なイベント処理の例
(function(){
var resource = document.getElementById('resources');
var links = resource.getElementsByTagName('a');
var all = links.length;
for(var i=0;i
// 各リンクにリスナーをアタッチ
links[i].addEventListener('click',handler,false) ;
};
function handler(e){
var x = e.target;
alert(x);
}
})();
より信頼できる写法は只给列表の父对オブジェクト绑定イベント,代码如下
: (function(){
var resource = document.getElementById('resources');
resources.addEventListener('click ',handler,false);
function handler(e){
var x = e.target; //
if(x.nodeName.toLowerCase() === 'a' のリンクを取得します。 ){
alert('イベント委任:' x);
e.preventDefault();
});
(5)匿名関数
---------------------- -------------------------------------------------- ---
JavaScript の最も厄介な問題の 1 つは、その量には特定の作用範囲がないということです。たとえば、次の設定では、3 つの全局所関数と 2 つの全局所関数が生成されます: 复制代
代码如下: var name = 'Chris';
var age = '34';
var status = 'single';
function createMember(){
// [...]
}
function getMemberDetails(){
// [...]
}
封装後如下:
复制代
代码如下: var myApplication = function( ){
変数名 = 'クリス';
var age = '34';
var status = 'single';
return{
createMember:function(){
// [...]
},
getMemberDetails:function(){
// [...]
}
}
}();
// myApplication.createMember() および
// myApplication.getMemberDetails() が機能するようになりました。
これは、JavaScript デザインモードの 1 つである单体モードとして知られており、この種のモードは YUI で非常に多く使用されており、変更された写法は次のとおりです:
复制代码
代码如下: var myApplication = function(){
var name = 'Chris';
var age = '34';
var status = 'single';
function createMember(){
// [...]
}
function getMemberDetails(){
// [...]
}
return{
create:createMember,
get:getMemberDetails
}
}();
//myApplication.get() と myApplication.create() が機能するようになりました。
(6) 設定可能なコード
-------------------------------- - ---------------------------------------
もしよろしければ他の人が使用したり変更したりしやすくするために作成したコードを構成可能にする必要があるのは、作成したスクリプトに構成オブジェクトを追加することです。重要なポイントは次のとおりです:
1. スクリプトにconfigurationというオブジェクトを追加します。
2. CSS ID、クラス名、言語など、他の人が変更する可能性のあるすべてのものを設定オブジェクトに保存します。
3. このオブジェクトをパブリック プロパティとして返し、他の人がオーバーライドできるようにします。
(7) コードの互換性
-------------------------------- - --------------------------------------------
互換性は初心者が見落としがちな部分です。通常、JavaScript を学習するときは固定ブラウザでテストされますが、現在主流のブラウザはいくつかあるため、これは非常に致命的です。規格のため。エンド ユーザーが見た結果として、作成したコードが特定のブラウザでは正しく実行できない場合があります。すべての主要なブラウザでコードをテストする必要があります。これには時間がかかるかもしれませんが、必ず実行する必要があります。