各言語には独自の特徴があります。JavaScript の場合、var を使用して任意の型の変数を宣言できます。このスクリプト言語は非常に単純に見えますが、洗練されたコードを記述するには継続的な経験の蓄積が必要です。この記事では、JavaScript 初心者が注意すべき 7 つの詳細をリストし、それらを共有します。
(1) コードを簡略化します
JavaScript でオブジェクトと配列を定義するのは非常に簡単です。通常、次のように記述します。
{
"名前":"チャド・スミス",
"役割":"ドラム、パーカッション"
},
{
"名前":"ジョン・フルシアンテ",
"役割":"リードギター"
}
],
"年":"2009"
}
JSON は JavaScript で直接使用することも、API によって返される形式としても使用できます。これは、次のような多くの 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 ネイティブ関数を使ってみる
一連の数値の最大値を見つけるには、たとえば次のようなループを作成します。
var max = 0 ;
for (var i=0;iif(numbers[i] > max){
max =numbers[i]>}
}
alert(max);
実際、ループせずに同じ機能を実現できます:
コードをコピー
コードは次のとおりです。 varnumbers = [3,342,23,22,124]; numbers.sort(function(a,b){return b - a});
alert(numbers [0]);
最も簡単な書き方は次のとおりです:
コードをコピーします🎜>
コードをコピーします
);
要素にクラス スタイルを追加する場合は、元の記述は次のようになります:
コードをコピー
コードをコピー
コードは次のとおりです。
(4) イベントデリゲート
イベントは JavaScript 非常に重要な部分です。クリック イベントをリスト内のリンクにバインドする一般的なアプローチは、ループを作成してイベントを各リンク オブジェクトにバインドすることです。
コードをコピー
コードは次のとおりです。
素晴らしい Web リソース
The script is as follows:
// Classic event handling example
(function(){
var resources = document.getElementById('resources');
var links = resources.getElementsByTagName('a');
var all = links.length;
for(var i=0;i
// Attach a listener to each link
links[i].addEventListener('click',handler,false);
};
function handler(e){
var x = e.target; // Get the link that was clicked
alert(x);
e.preventDefault();
};
})();
A more reasonable way to write it is to only bind events to the parent object of the list. The code is as follows:
(function(){
var resources = document.getElementById('resources');
resources.addEventListener(' click',handler,false);
function handler(e){
var x = e.target; // get the link tha
if(x.nodeName.toLowerCase() === 'a '){
alert('Event delegation:' x);
e.preventDefault();
}
};
})();
(5) Anonymous functions One of the most annoying things about JavaScript is that its variables have no specific scope. In general, any variable, function, array or object is global, which means other scripts on the same page can access and overwrite them. The solution is to encapsulate the variable in an anonymous function. For example, the following definition will produce three global variables and two global functions:
var name = 'Chris';
var age = '34';
var status = 'single';
function createMember(){
// [... ]
}
function getMemberDetails(){
// [...]
}
After encapsulation, it is as follows:
var myApplication = function(){
var name = 'Chris';
var age = '34';
var status = 'single';
return{
createMember:function(){
// [...]
},
getMemberDetails:function (){
// [...]
}
}
}();
// myApplication.createMember() and
// myApplication.getMemberDetails() now works.
This is called the singleton mode, which is a type of JavaScript design pattern. This mode is used a lot in YUI. The improved writing is:
var myApplication = function(){
var name = 'Chris';
var age = '34';
var status = 'single';
function createMember(){
// [...]
}
function getMemberDetails(){
// [...]
}
return{
create:createMember,
get:getMemberDetails
}
}();
//myApplication.get( ) and myApplication.create() now work.
(6) Code configurable
If you want the code you write to make it easier for others to use or modify, then It needs to be configurable. The solution is to add a configuration object to the script you write. The key points are as follows:
1. Add an object called configuration in your script.
2. Store in the configuration object all the things that others may want to change, such as CSS ID, class name, language, etc.
3. Return this object as a public property so that others can override it.
(7) Code compatibility Compatibility is a part that beginners tend to overlook. Usually when learning Javascript, they are tested in a fixed browser, and this browser It is very likely that it is IE, which is very fatal, because among the current major mainstream browsers, IE has the worst support for standards. The result seen by the end user may be that the code you wrote cannot run correctly in a certain browser. You should test your code in all major browsers. This may be time-consuming, but it should be done.