gpt4 book ai didi

javascript - 函数执行次数超过预期

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:14:10 25 4
gpt4 key购买 nike

这是一个简短的 Angular 应用程序:

angular.module('AppName', [])
.controller('TwoController', function($scope){
var oneArray = ['1','2'];
$scope.secondArray = [];
for (i in oneArray){
$scope.secondArray.push({
property: function(){
console.log('1');
return 'word';
}
})
}
});

在我看来:

<div ng-app="AppName" ng-controller="TwoController">
<p ng-repeat='entry in secondArray'>{{entry.property()}}</p>
</div>

The example on jsfiddle.

它正确地显示字符串 word 两次,但是当我检查控制台时,它显示函数执行了 4 次(通过 console.log('1')) .知道为什么吗?

最佳答案

这是因为for..in属性和数组上的循环具有属性 length还有另一个让它再次循环。如果你想看它就做 console.log(i)

要么使用 angular.forEach还是旧的for(var i = 0; i < ...)

编辑:失败的答案:原因是 Angular 问题。

他将遍历列表两次:一次在初始化时,一次在循环结束时检查更改

关于javascript - 函数执行次数超过预期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36690747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com