I have the following code and am wondering how to make the last line work. I addopted a set of api's that current use _view appended as it's namespacing convention and would rather use something like arc.view.$function_name. thx
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']();
window['arc']['view']['say_hello']();
or
window.arc.view.say_hello()
or
window['arc'].view['say_hello']()
Either the dot syntax or the bracket syntax will work. Dot syntax is really just syntactic sugar for a bracket-based property lookup, so all of the above code snippets are identical. Use bracket syntax when the property name itself is a dynamic value, or when using the property name in dot syntax would cause a syntax error. E.g.:
var dynamicMethodName = someObject.getMethodName();
someOtherObject[dynamicMethodName]();
or
someOtherObject["a key string with spaces and {special characters}"]();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With