Javascript 将函数传递到数组中,然后调用它
我试图将一个函数添加到数组中,然后稍后调用它Javascript 将函数传递到数组中,然后调用它,javascript,Javascript,我试图将一个函数添加到数组中,然后稍后调用它 // So add it here var list = [{ Name: "Name1", Name2: "Name", Function: test() }] // Then call it later which will run the function list.Function; function test(){ var test = "test"; console.log(test); } 在将函数放入列表时,您可
// So add it here
var list = [{ Name: "Name1", Name2: "Name", Function: test() }]
// Then call it later which will run the function
list.Function;
function test(){
var test = "test";
console.log(test);
}
在将函数放入列表时,您可能不想调用该函数,这是在向数组中添加
test()
时所做的操作。这将在创建列表并将结果添加到列表时调用函数。此外,要在引用时调用它,需要包含索引:
功能测试(){
var test=“test”;
控制台日志(测试);
}
//所以把它加在这里
var list=[{Name:“Name1”,Name2:“Name”,Function:test}]//只需添加对test no`()`
//然后稍后调用它,它将运行该函数
列表[0]。函数();//列表是一个数组,因此您需要引用第一项
Mark Meyer的精彩答案。我想补充的是,让这成为可能的是Javascript函数中的第一类成员。它们与任何其他对象都没有区别
因此,我们甚至可以将属性指定给如下函数:
函数foo(){}
foo.bar=5;
控制台日志(foo.bar)代码>将函数测试的结果存储到数组中。您没有存储函数本身。该函数返回未定义的。
// First Method/Function
function messageOne()
{
console.log("Inside First Method !")
}
// Second Method/Function
function messageTwo()
{
console.log("Inside Second Method !")
}
// A List which stores methods reference
var list = {"one":messageOne,"two":messageTwo}
// Call Each methods/Function from list
list["one"]()
list["two"]()