Working code sample.予期しない角度のある動作。自己実行機能簡易マークアップ
スコープ関数を呼び出します。
<!DOCTYPE html>
<html ng-app="APP">
<head></head>
<body ng-controller="myController">
<script src="angular.min.js"></script>
<script src="controller.js"></script>
</body>
</html>
簡易コードサンプル:
angular.module('APP', []).controller('myController', function($scope) {
$scope.test = function() {
console.log('Weird behaviour!')
}
(function() {}()); //if you comment self-executing function console will be empty
});
そして、本当に奇妙なスコープの挙動。なぜこれが起こるのか説明していただけますか?
このjを知っていると思いますavascript固有のコードスタイル...ここに例があります:jsfiddle.net/prfy9eso。興味深いことに、この例の解釈は異なる方法で行われます(空白行はコード例を2番目の例で変更しますが、例の動作を変更しません)。 – Spirit
'return' [既知の例外](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/return#Automatic_Semicolon_Insertion)。 「リターンステートメントの後の到達不能なコード」の注記に注目してください。これはFirefoxのみに関係しますが、適切に設定されたリンターを使用すると両方の状況を防ぐことができます。 – estus
また、 'throw'、' continue'、 'break'です。 [仕様](http://ecma-international.org/ecma-262/5.1/#sec-7.9) –