ダニエル、あなたは言った:「それが主にスタイルの選択である場合」 . 「コードスタイル」が好みの問題であるだけでなく、異なる結果を引き起こす場合、JavaScriptで少なくとも2つの例を知っています。
セミコロンはオプションですか? 全くない。
$scope.test = function() {
console.log('Weird behaviour!')
} //; let us comment it
(function() {} ()); //two functions seem to be independent
に等しい
$scope.test = function() {
console.log('Weird behaviour!')
}(function() {} ()); //but without semicolon they become the one
自己実行機能に関連しない「コード スタイル」の別の例:
var x = (function() {
return //returns undefined
{};
}());
alert(x);
/*
that is why, I suppose, while writing javascript code,
we put function brackets in the following "code style":
function() { //at the same line
return { //at the same line, this style will not lose the object
};
}
*/
コード スタイルの形成は、この種の予期しない結果によって決まります。
最後だが大事なことは。selfexecuting関数を使用する場合:関数呼び出し時にクロージャーが作成され、vars がローカルに保持されます。
関数呼び出しでクロージャが作成されます。そのため、自己実行機能は非常に便利です。ダニエルが正しく述べたように、独立したコード単位を保持するのに適した場所であり、このパターンはモジュール パターンと呼ばれます。したがって、純粋な JavaScript から特定のフレームワークに、またはその逆に移行する場合、この独立性により、コードの変更がより流動的になります。最良のケースは、モジュールを angular ラッパーに移動して再利用することです。
そのため、あるテクノロジーから別のテクノロジーへのコード送信の目的には便利です。しかし、私が信じているように、特定のフレームワークでは意味がありません。