gpt4 book ai didi

javascript - 在运行时将参数传递给函数

转载 作者:行者123 更新时间:2023-11-28 15:23:14 25 4
gpt4 key购买 nike

我正在尝试动态地将参数传递给函数。我发现了很多关于这个主题的问题,但在某个地方我没有得到它。

我的问题与场景非常相似。我使用方括号作为函数名称和参数,但我不确定我错在哪里。

如果有人能向我指出有关此问题的良好文档,那就太好了。

function myage(age) {
alert("My age is " + age + "!!");
}

model = [{
name : "Tom",
age : 30,
link : myage
},
{
name : "James",
age : 32,
link : myage
}];

var elem;
for(var i = 0; i < model.length ; i++) {
elem = '<li><a href="#" onclick=[' + model[i].link + '][' + model[i].age + ']>' + model[i].name + '</a></li>';
}

这是一个错误,它不起作用。

最佳答案

由于您要在 onclick 属性中构造字符串,因此 link 属性应该是函数的名称,而不是函数本身。那么你应该将参数放在后面的括号中,而不是方括号中。

function myage(age) {
alert("My age is " + age + "!!");
}

model = [{
name: "Tom",
age: "thirty",
link: "myage"
}, {
name: "James",
age: 32,
link: "myage"
}];

var elem;
for (var i = 0; i < model.length; i++) {
elem = '<li><a href="#" onclick="' + model[i].link + '(\'' + model[i].age + '\')">' + model[i].name + '</a></li>';
document.getElementById("container").innerHTML += elem;
}
<ul id="container"></div>

但是,如果您希望它在用户单击时查找链接,您可以这样做。您需要将文字 model[i] 放入 onclick 属性中,而不是函数中。

function myage(age) {
alert("My age is " + age + "!!");
}

model = [{
name : "Tom",
age : 30,
link : myage
},
{
name : "James",
age : "thirty-two",
link : myage
}];

var elem;
for(var i = 0; i < model.length ; i++) {
elem = '<li><a href="#" onclick="model[' + i + '].link(\'' + model[i].age + '\')">' + model[i].name + '</a></li>';
document.getElementById("container").innerHTML += elem;
}
<ul id="container"></div>

关于javascript - 在运行时将参数传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30359407/

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