Javascript 其中角函数为;“存储”吗;?

Javascript 其中角函数为;“存储”吗;?,javascript,angularjs,google-chrome,Javascript,Angularjs,Google Chrome,我不确定以下内容是否是浏览器问题或bug,但是,如果有类似以下内容的功能 $scope.editSomething= function(){ alert("hello"); } 总是在开始时被调用,如果我编辑了某些内容,该网页将执行它应该执行的操作(提醒hello)。但是,除非加载页面,否则断点永远不会到达该点 我的问题:作用域是否存储我的函数?或者我的调试器行为怪异?您的问题是如何编写函数。这样写会使函数仅在调用时执行: 如果您将一个变量设置为与现有函数类似的函数,它将执行该函数并将返

我不确定以下内容是否是浏览器问题或bug,但是,如果有类似以下内容的功能

$scope.editSomething= function(){
  alert("hello");
}
总是在开始时被调用,如果我编辑了某些内容,该网页将执行它应该执行的操作(提醒hello)。但是,除非加载页面,否则断点永远不会到达该点


我的问题:作用域是否存储我的函数?或者我的调试器行为怪异?

您的问题是如何编写函数。这样写会使函数仅在调用时执行:

如果您将一个变量设置为与现有函数类似的函数,它将执行该函数并将返回值放入变量中

Hello2 = function() {
 return "Something Here";   
};

console.log("Hello2 Output: "+ Hello2());

$scope存储您在其上放置的变量

变量也可以存储函数。在本例中,您将为名为
editSomething
的变量分配一个匿名函数

每次初始化控制器时,都会执行控制器内的代码。如果将断点放在带有
$scope.editsoughts=function(){
的行上,则每次控制器初始化时(例如在页面加载时),都会碰到断点


如果您想查看存储在
editSomething
变量中的匿名方法何时执行(例如,在模板中的HTML元素上放置
ng click=editSomething()
,然后单击该元素),则应将断点放置在
警报(“hello”)上
line.

问起来很傻,但是你在哪里设置断点呢?JavaScript只在客户端执行,所以在加载页面之前不点击断点是有意义的。我猜你的断点应该在上面代码段的第一行,当然只有在控制器初始化时才运行,而不是在editSomethi时ng已执行。此函数是否在视图中引用?哦,但我不清楚它是如何执行操作而不去断点的。我的断点在同一代码的两行上。@KevinB,这是有道理的!但它如何执行操作
警报(“hello”)
Hello2 = function() {
 return "Something Here";   
};

console.log("Hello2 Output: "+ Hello2());