今日、私はプログラム開発にJavaScriptを正しく使用する方法についてGitHubで質問を見つけました。私は恥知らずにオリジナルを思いつきました...それは詐欺です。あなたと共有しましょう。
JavaScriptへのほとんど合理的なアプローチ。
タイプ//タイプ
オブジェクト//オブジェクト
配列//配列
文字列//文字列
関数//関数
プロパティ//プロパティ
変数//変数
Hoisting //可変改善
条件付き表現と平等//条件付き式と等式。
ブロック//ブロックコード
コメント//コメント
Whitespace //スペース
コンマ//コンマ
セミコロン//セミコロン
タイプキャスティングと強制//タイプ変換
命名規則//命名規則
アクセッサ//アクセス
コンストラクター//コンストラクター
イベント//時間
モジュール//モデル
jquery //
ECMAScript 5互換性// ECMA 5互換性
テスト//テスト
パフォーマンス//パフォーマンス
リソース//リソース
野生で
翻訳
JavaScriptスタイルガイドガイド
貢献者
ライセンス
タイプ(タイプ)
プリミティブタイプ:プリミティブタイプにアクセスすると、実際にプリミティブタイプの内容に直接アクセスします。
弦
番号
ブール
ヌル
未定義
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
オブジェクト(オブジェクト)
オブジェクトリテラルを使用してオブジェクトを作成する(リテラル)
// badvar item = new object(); // goodvar item = {};予約されたキーワードをオブジェクトのプロパティ名として使用しないでください。これはIE8では機能しません。
// badvar superman = {default:{clark: 'kent'}、private:true}; // goodvar superman = {defaults:{clark: 'kent'}、hidden:true};配列(配列)
また、文字通りの方法を使用して配列を作成します
// badvar items = new array(); // goodvar items = [];
配列の長さがわからない場合は、アレイの組み込みメソッドプッシュを使用して挿入操作を使用します
var somestack = []; // badsomestack [somestack.length] = 'vein'; // goodsomestack.push( 'vein');
配列をコピーする場合は、array.sliceを使用します
var len = items.length、//上記のコンテンツを指します... itemcopy = []、i; // badfor(i = 0; i <len; ++ i){itemcopy [i] = items [i];} // gooditemcopy = items.slice(); //ここで注意する必要があります。私は本当にこれを知りません...文字列文字列
文字列を囲むために単一の引用符を使用してください... //ここでパフォーマンスに適した説明が見つかりませんでした、私は個人的にこのようにそれを使用するのが好きです(摩耗よりも少ない着用する方が良いです...あなたは知っています...)
// badvar name = "bob parr"; // goodvar name = 'bob parr'; // badvar fullname = "bob" + this.lastname; // goodvar fullname = 'bob' + this.lastname;
文字列が80文字より長い場合、文字列連結を使用して複数の行に書き込む必要があります。過度に使用すると、文字列の連結がパフォーマンスに影響することに注意してください。
// badvar errormessage = 'これは、バットマンのためにスローされた非常に長いエラーです。バットマンがこれとどのように関係しているかを考えるのを止めたとき、あなたはどこにも速くなりません。」; // badvar errormessage = 'これは、バットマンのためにスローされた超長いエラーです。バットマンがどのように何かすることを持っているかを考えるのを止めたとき /これで、あなたはどこにも行きません /fast.';//バットマンがこれで「 +」をどうするかについて考えるのを止めると、どこにも速くなりません。」
次のように、計画された方法で配列を作成する場合。 array.joinを使用すると、より良く動作します。
varアイテム、メッセージ、長さ、i; messages = [{stat: 'success'、message: 'this one work'}、{stat: 'success'、message: 'this one works'}、{stat: 'success'、message: 'this works'}]; lenges = messages.lenges.length.length. // badfunction inbox(メッセージ) '<li>' + messages [i] .message + '</li>';} return items + '</ul>';} // goodfunction inbox(messages){items = []; '</li> </ul>';}関数
//匿名関数Expression..var anonymous = function(){return true;}; // name function expression.var named = function named(){return true;}; // instant reference function(function(){console.log( 'インターネットへようこそ。');})();機能しないブロックコード(場合)で関数を定義しないでください。それに対応して、関数はコードブロックの中央にある外部変数名に割り当てられます。
// badif(currentuser){function test(){console.log( 'nope }; //セミコロンに注意してください。}プロパティ(プロパティ)
DOT構文を使用してプロパティにアクセスします。
var luke = {jedi:true、age:28}; // badvar isjedi = luke ['jedi']; // goodvar isjedi = lucky.jedi;変数を使用してオブジェクトプロパティにアクセスするときは、[]正方形のブラケットを使用してアクセスします
var luke = {jedi:true、age:28}; function getProp(prop){return luke [prop];} var isjedi = getProp( 'jedi');