ホームページ > ウェブフロントエンド > jsチュートリアル > プログラム開発のために JavaScript を正しく使用する方法_JavaScript スキル

プログラム開発のために JavaScript を正しく使用する方法_JavaScript スキル

WBOY
リリース: 2016-05-16 16:43:21
オリジナル
994 人が閲覧しました

今日、JavaScript を正しく使用してプログラムを開発する方法に関する記事を github で見つけました。恥ずかしながらオリジナルの記事を思いつきました。これは詐欺です。
JavaScript に対するほぼ合理的なアプローチです。
タイプ //タイプ
オブジェクト //オブジェクト
配列 //配列
文字列 //文字列
関数 //関数
プロパティ //プロパティ
変数 //変数
ホイスティング //変数ホイスティング
条件式と等式 //条件式と方程式。
ブロック // ブロックコード
コメント // コメント
ホワイトスペース //スペース
カンマ //カンマ
セミコロン //セミコロン
型キャストと型強制 //型変換
命名規則 //命名規則
アクセサ //アクセス
コンストラクター //コンストラクター
イベント //時間
モジュール //モデル
jQuery //
ECMAScript 5 互換性 //ECMA 5 互換性
テスト //テスト
パフォーマンス //パフォーマンス
リソース // リソース
野生の中で
翻訳
JavaScript スタイルガイドガイド
寄稿者
ライセンス

タイプ
プリミティブ型: プリミティブ型にアクセスすると、実際にはプリミティブ型のコンテンツに直接アクセスされます。
文字列
番号
ブール値
null
未定義
var foo = 1,
bar = foo;
bar = 9;
console.log(foo,bar); //=> 1,9

複合型: 複合型のデータ型にアクセスすると、実際には参照によって変数の値にアクセスします。
オブジェクト
配列
関数

var foo = [1,2];
bar = foo;
bar[0] = 9;
console.log(foo[0],bar[0]); // => 9,9
ログイン後にコピー

オブジェクト(オブジェクト)
オブジェクト リテラルを使用してオブジェクト (リテラル) を作成する

//bad
var item = new Object();
//good
var item = {};
ログイン後にコピー

オブジェクトのプロパティ名として予約キーワードを使用しないでください。これは IE8 では機能しません。

//bad
var superman = {
default: {clark: 'kent'},
private: true
};
//good
var superman = {
defaults: {clark: 'kent'},
hidden: true
};
ログイン後にコピー

配列(配列)
配列の作成にはリテラル メソッドも使用します

//bad
var items = new Array();
//good
var items = [];
ログイン後にコピー

配列の長さがわからない場合は、Array の組み込みメソッド Push を使用して挿入操作を実行します

var someStack = [];
//bad
someStack[someStack.length] = 'vein';
//good
someStack.push('vein');
ログイン後にコピー

配列をコピーしたい場合はarray.sliceを使用します

var len = items.length, //指的就是上面的内容...
itemCopy = [],
i;
//bad
for(i = 0; i < len ; ++i){
itemCopy[i] = items[i];
}
//good
itemCopy = items.slice(); //这里要注意了.这个我还真不知道...
ログイン後にコピー

文字列 string
文字列を囲むには一重引用符を使用します...//パフォーマンスに関する適切な説明がここには見つかりませんでした。個人的にはこの方法を使用するのが好きです (多く着用するよりも着用回数を減らすほうが良いですよね? ..you)知っています..)

//bad
var name = "Bob Parr";
//good
var name = 'Bob Parr';
//bad
var fullName = "Bob " + this.lastName;
//good
var fullName = 'Bob ' + this.lastName;
ログイン後にコピー

文字列が 80 文字を超える場合は、文字列の連結を使用して複数行に記述する必要があります。過度に使用すると、文字列の連結がパフォーマンスに影響することに注意してください。

// bad
var errorMessage = 'This is a super long error that was thrown because of Batman. When you stop to think about how Batman had anything to do with this, you would get nowhere fast.';
// bad
var errorMessage = 'This is a super long error that was thrown because \
of Batman. When you stop to think about how Batman had anything to do \
with this, you would get nowhere \
fast.';
// good
var errorMessage = 'This is a super long error that was thrown because ' +
'of Batman. When you stop to think about how Batman had anything to do ' +
'with this, you would get nowhere fast.';
ログイン後にコピー

配列を作成する予定がある場合は、以下に示すように Array.join を使用するとより良い結果が得られます。

var items,
messages,
length,
i;
messages = [{
stat: 'success',
message: ' This one worked'
},{
stat: 'success',
message: ' This one worked'
},{
stat: 'success',
message: ' This one worked'
}
];
length = messages.length;
//bad
function inbox(messages){
items = '<ul>';
for (i = 0; i < length; i++) {
items += '<li>' + messages[i].message + '</li>';
}
return items + '</ul>';
}
//good
function inbox(messages){
items = [];
for( i = 0; i < length ; i++){
items[i] = messages[i].message;
}
return '<ul><li>' + items.join('</li><li>') + '</li></ul>';
}
ログイン後にコピー

機能

//匿名函数表达式..
var anonymous = function(){
return true;
};
// 命名函数表达式.
var named = function named(){
return true;
};
//即时引用函数
(function(){
console.log('Welcome to the Internet. Please follow me.');
})();
ログイン後にコピー

非関数ブロック コード (if、while) では関数を定義しないでください。同様に、コード ブロックの途中で関数を外部変数名に割り当てます。

//bad
if(currentUser){
function test(){
console.log('Nope.');
}
}
//good
var test;
if(currentUser){
test = function(){
console.log('Yup'); 
}; //be careful with the semi-colon.
}
ログイン後にコピー

プロパティ
プロパティにアクセスするには、ドット構文を使用します。

var luke = {
jedi: true,
age: 28
};
//bad
var isJedi = luke['jedi'];
//good
var isJedi = luck.jedi;
ログイン後にコピー

変数を使用してオブジェクトのプロパティにアクセスする場合は、[] 角かっこを使用して
にアクセスします

var luke = {
jedi: true,
age: 28
};
function getProp(prop) {
return luke[prop];
}
var isJedi = getProp('jedi');
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート