我有以下代码,我想知道如何使最后一行工作.我addopted一组API,可目前使用_view追加,因为它的命名空间惯例,而宁愿使用类似arc.view.$函数名的.谢谢
var arc={};
arc.view={
say_hello: function(){
alert("I want to say hello");
}
}
function say_goodbye(){
alert("goodbye to you");
}
arc.view.say_hello(); // works
window['say_goodbye'](); // works
// possible to make this work?
window['arc.view.say_hello']();
Run Code Online (Sandbox Code Playgroud)
zet*_*len 10
window['arc']['view']['say_hello']();
Run Code Online (Sandbox Code Playgroud)
要么
window.arc.view.say_hello()
Run Code Online (Sandbox Code Playgroud)
要么
window['arc'].view['say_hello']()
Run Code Online (Sandbox Code Playgroud)
点语法或括号语法都可以使用.Dot语法实际上只是基于括号的属性查找的语法糖,因此所有上述代码片段都是相同的.当属性名称本身是动态值时使用括号语法,或者在点语法中使用属性名称会导致语法错误.例如:
var dynamicMethodName = someObject.getMethodName();
someOtherObject[dynamicMethodName]();
Run Code Online (Sandbox Code Playgroud)
要么
someOtherObject["a key string with spaces and {special characters}"]();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15222 次 |
| 最近记录: |