为什么我的函数执行时,我把它推到一个JS数组
Why does my function execute when I push it onto a JS array?
我在尝试填充一些动画的JS数组时遇到了这个问题....当我为了测试的目的点击网页中的链接时,调用以下Javascript函数:
function testing()
{
var funcArray = [];
var testFunc = function(){console.log("test function");}
funcArray.push(function(){console.log("hello there");});
funcArray.push(testFunc());
}
当这个执行时,我得到"测试函数"出现在JS控制台中,但不是"你好"。为什么推送预定义的testFunc会导致输出,而不是第一次推送中的内联函数?
因为你在调用它
funcArray.push(testFunc());
调用 testFunc,然后将该调用的结果推入funcArray。您可能需要funcArray.push(testFunc);
(注意省略了()
),它只是将函数引用推入该数组。
因为你在funcArray.push(testFunc());
中执行它…你想要的是funcArray.push(testFunc);
,因为testFunc()
执行函数,接受返回并将其推入数组,而testFunc
接受实际的函数来推入。
相关文章:
- 在数组JS中查找三个重复项
- 比较二维数组js
- 从数组(JS)中的对象调用函数
- 检查对象是否已被推入数组 Js
- 将CSV文件转换为JSON数组JS
- 解析多维数组JS的数组并记录索引
- 如何遍历直接传递到灰尘的数组.js
- 如何使用 D3 选择 JSON 数组.js 使用 .算子
- JavaScript 变量中的 PHP 数组 - JS 元素
- 将数据复制到 JavaScript D3 中的数组.js然后绘制散点图
- 基于数组JS中的值创建按钮
- 创建数组JS
- 按频率排序子字符串数组-JS
- 将数组js变量传递给php
- 使用不带嵌套循环的数组过滤对象数组js
- 创建封装数组JS
- 创建多dim数组(JS)
- 创建for循环对象并将它们压入数组js中
- 将数组JS中的所有项相乘
- 如何从二维数组(JS)中获取网格的坐标