我有以下代码。我想有一个数组(按钮),其中一个元素指向一个函数(closeFlag)。
<script type="text/javascript">
var closeFlag = new function() {
alert('Clicked');
}
var buttons = {
'OK': closeFlag
}
</script>
但是,加载页面时会立即弹出警报。构造数组时,JavaScript不会将其用作指针,而是调用我的函数。 为什么?我有什么错误,误解?
答案 0 :(得分:12)
new
关键字,您不需要它。
<script type="text/javascript">
var closeFlag = function() {
alert('Clicked');
}
var buttons = {
'OK': closeFlag
}
</script>
您的代码中发生的是,它正在构建匿名函数,然后将其结果(this
)分配给closeFlag
。