あなたのJavascript技術が下手な5つの原因を説明します.

3863 ワード

この文章は5 Reasons Your Javascript Stinksから翻訳されました.
Javascriptはインターネットで評判が悪いですが、これほどダイナミックで広く使われている言語を見つけるのは難しいです.その低い学習の敷居は多くの人に学前脚本言語と呼ばれています.もう一つの嘲笑されるものは動的言語の概念です.どうしても標準的な静的データタイプを使っています.実は、あなたとJavascriptは立場を間違えました.今はJavascriptを怒らせています.ここには5つの理由があります.あなたのJavascript技術が下手だと説明できます.
1.名前空間を使っていません.
大学で先生が家庭での作業に大域変数を使わないように教えてくれたことを覚えていますか?Javascriptにおけるグローバル変数の使い方も例外ではない.Webページはちょっと油断すると混乱してしまいます.インターネット上の隅々から探してきた乱雑な相互侵害のシナリオとスクリプトライブラリがあちこちにあります.もしあなたが一つの変数をloaderと名づけたら、それはわざと自分で面倒を見ます.もしあなたが無意識のうちに関数を積載したら、Javascriptはまったくあなたに注意しません.それを学前教育プログラミング言語と呼んでいますが、覚えていますか?私が言いたいのは、これらを作ってから何が起こるかを知る必要があるということです.
 
  
function derp(){ alert("one"); }
function derp(){ alert("two"); }
derp();
「two」、答えは「two」です.必ずしもそうではないです.それも「one」かもしれません.だから、あなたのコードをすべて自分の名前空間に置くのは簡単です.以下は自分の名前空間を定義する簡単な方法です.
 
  
var foospace={};
foospace.derp=function(){ alert("one"); }
function derp(){ alert("two"); }
foospace.derp();
2.マジックをしています.変数を西の方に定義してください.
変な数字の組み合わせを使って変数名として使うのはダブル負けの結果です.40行のコードブロックの中から、意味を持たない文字変数を探します.メンテナンス作業にとっては悪夢です.変数に対する最初の宣言を40行のコードブロックに混ぜても悪夢です.自分でこのような変数に出会ったとしても、「これはどこで定義されていますか?」いいえ、このようにしないでください.反対に、これはJavascriptへの悪用です.愚かなやり方です.常に変数をその使用範囲の上部に定義します.必要ではないからといって、そうしなくてもいいです.
function(){
var a、//description
b;//description
//process…
)
3.Javascriptの変数範囲が理解されていません.
あなたは天才的なプログラマーです.あなたが食べているのはC++、引いているのはListです.変数範囲とは何かを知っていますか?あなたはあなたの変数を完全にコントロールしています.上帝のようにそれらを見守っています.しかし、Javascriptはあなたのコーヒーに大便をして、大笑いしました.
 
  
var herp="one";
{
var herp="two";
}
alert(herp);
この場合あなたが得たherpは「one」ではなく「two」です.Javascriptの変数有効範囲は他の言語と同じコードブロックに依存していません.Javascriptの変数範囲は関数に基づいています.各関数は自分の変数の範囲を持っています.Javascriptという点ではクールで、この無意味な括弧で囲まれた範囲を無視します.実際、Javascriptはこのようなクールで、変数の範囲を名前空間や変数のように伝えることができます.
4.Javascriptの対象向けの特徴は接ぎ木したものだと思います.
Javascriptは、おぎゃあと生まれてから、対象に向けた言葉です.すべてのものはJavascriptの中で対象です.数字や文字といった文字記号も、その固有のコンストラクタを介してオブジェクトに変換することができます.他の対象に向かう言語と比べて、Javascriptの違いは、クラスがないことです.Javascriptオブジェクトは関数のように定義され、関数自体も対象です.Javascriptにはprototypeという属性があります.すべてのオブジェクトにはこの属性が内蔵されています.オブジェクトの構造を変えたり、オブジェクトを変更したり、変数を追加したり、機能を多くすることができます.
 
  
var derp; //will hold a Herp instance
var Herp= function(){
this.opinion="Javascript is cooler than BASIC.";
}
Herp.prototype.speak=function(){ alert(this.opinion); }
var derp= new Herp();
derp.speak();
これがあなたと全く関係がないように見えるなら、私は良い友達のGoogleを紹介してあげたいです.Googleは人々の勉強を助けるのが得意です.対象に向けては短い文章で低姿勢の文章には大きな話題です.
5.「new」というキーワードを使う時は盲人のようです.
Javascriptはきっとあなたの初恋の彼女です.あなたはどうすればいいか分かりません.真人のようにJavascriptを楽しませるには、対象の記号を知る必要があります.オブジェクトの実装が必要な場合や、まれにはデータの読み込みを遅延させる必要がある場合を除き、newキーワードを使用する必要はありません.Javascriptに大量のnew変数アドレスを割り当てるのは遅い操作です.効率のために、常に対象シンボルを使うべきです.
 
  
var rightway= [1, 2, 3];
var wrongway= new Array(1, 2, 3);
Javascriptの変数範囲は関数に基づいていると言ったのを覚えていますか?Javascriptのオブジェクトが関数のように定義されているという話を覚えていますか?newキーワードを使ってオブジェクトを宣言しないと、このオブジェクトは全体の対象になります.したがって、常にnewキーワードを使ってオブジェクトを宣言するのは良い習慣です.
 
  
var derp="one";
var Herp=function(){
this.derp="two";
}
var foo=Herp();
alert(derp);
このように書いたら、Javascriptは気にしません.本当にポップアップした答えは「two」です.このような行動を防ぐためには、instance Ofを使用することができますが、より良い方法は、newキーワードを正しく使うことです.
今はJavascriptコードが腐っていることを知っていますよね.上に書いたものを覚えたら、コードが改善されます.私は3つのタブキーを使ってコードをインデントするのが好きです.下線で単語を接続するのが好きです.関数名の頭文字を大文字で表すのが好きです.もちろん、これはもう一つの討論です.多くの原因があります.Javascriptコードの書き方が下手です.私はたくさんの技術を持っています.だから、思いきりコメントの中であなたの意見を表現して、支持して、反対して、教えてください.
ロゴティックvとJared Weinが5つ目のエラーを指摘してくれてありがとうございます.あなた達は強いです.