gpt4 book ai didi

javascript - 在 Javascript 中动态调用函数

转载 作者:搜寻专家 更新时间:2023-10-31 22:59:31 24 4
gpt4 key购买 nike

我想从像“User.find”这样的字符串中动态调用一个函数。如果函数存在,脚本将调用对象 User 中的函数 find()。这是我尝试过的:

 var User = {};
User.find = function(){
return 1;
}

var input = 'User.find';
var some_data_array = {name: 'John Doe'};
var method = input.toString().split('.');
var nameObj = method[0].substring(0,1).toUpperCase() + method[0].substring(1);
var methodToCall = method[1];

nameObj.call(methodToCall, some_data_array);

但它总是返回:

 nameObj.call(methodToCall, some_data_array);
TypeError: Object User has no method 'call'

有什么想法吗?我不能使用窗口,因为它是一个 node.js 问题,脚本没有在浏览器中执行。

最佳答案

你完全误解了call()

call() 允许您使用不同的 this 调用方法。

您想通过名称获取属性:

object[methodName](arg1, arg, ...);

关于javascript - 在 Javascript 中动态调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26328294/

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