javascript - 我可以将字符串标识符作为函数调用吗?

标签 javascript

<分区>

var func = function(){};
var funcName = "func";
funcName.call();

我很期待Function的一些有用的特性

最佳答案

您可以使用方括号表示法为对象属性名称使用字符串标识符:

obj['identifier'] === obj.identifier

但是,唯一可以将变量作为对象属性访问的上下文是全局变量,因为它们是作为全局(浏览器中的窗口)对象的属性添加的:

var global = this;
var name = 'fred';
alert(global['name']); // fred

您不能访问任何其他执行上下文的变量对象,但您可以使用eval 来评估字符串:

alert( eval('name'))

但强烈建议不要这样做。使用对象属性而不是方括号符号。

关于javascript - 我可以将字符串标识符作为函数调用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17056870/

相关文章:

javascript - 消息: Unterminated string constant

javascript - AWS.S3.ManagedUpload() 和 s3.upload() 方法有什么区别?

JavaScript:按给定大小将一维数组转换为二维数组

javascript - MouseEvent.path 在 Firefox 和 Safari 中等效

javascript - 如何在 IBM WebSphere Application Server 6.1 上启用 gzip/deflate 压缩?

javascript - 放大 - 缩小 Javascript 背景上的问题

javascript - 循环遍历对象数组,找到匹配值,然后创建包含每组匹配值的新数组

javascript - 添加等待 : true 后主干集合未更新

javascript - Angular 路线/输入自动对焦

javascript - 加载 ajax 的页面上的 document.ready