リターンでJavaScript設計上の欠陥

機能(){
  リターン{
     1 "バー" 
  } 
} 
()

返回:{バー:1}
関数B(){
  リターン 
    {
     "バー":1 
  } 
} 
、B()

报错:キャッチされないでSyntaxError:予期しないトークン:

原理:

代わりに、次の行の先頭の行の末尾に括弧{は、JavaScriptのreturn文でひどい設計ミスを回避するため。

プログラムに欠陥がある場合は、セミコロンは自動的に完了したことを挿入されているが、このメカニズムは非常にトリッキーであることが多いいくつかのミスをカバー、 - javascriptの回復メカニズムがあります。

 

例えば:

{戻り
こんにちは「世界」;
};
オブジェクトリテラル構成を理解される通常のリターン。

しかし、そう書かれている場合:

戻り値
{
こんにちは:「世界」
};
JavaScriptの本会議は、自動的に上記のコードを記入しますが次のようになります。

返す;
{
こんにちは:「世界」
};
実際には警告なし未定義、このようなエラーを返します。

おすすめ

転載: www.cnblogs.com/lezuw/p/11592016.html