[英]Javascript accessing methods with brackets?
I saw this in some code:我在一些代码中看到了这一点:
var _0xdf50x7 = document['createElement']('form');
How does this work?这是如何运作的? Does this mean that an object's methods can be accessed like the elements of an array?
这是否意味着可以像访问数组元素一样访问对象的方法?
Since the createElement()
method is a member of the document
object, it can be accessed using either dot notation :由于
createElement()
方法是document
object 的成员,因此可以使用点符号访问它:
var form = document.createElement("form");
Or bracket notation :或括号表示法:
var form = document["createElement"]("form");
This can be useful if the name of the method to call is stored in a variable:如果要调用的方法的名称存储在变量中,这将很有用:
var methodName = "createElement";
var form = document[methodName]("form");
It can also be used if the actual method to call depends on external conditions.如果实际调用的方法取决于外部条件,也可以使用它。 Here is a (contrived) example:
这是一个(人为的)示例:
function createNode(str, isTextNode)
{
return document[isTextNode ? "createTextNode" : "createElement"](str);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.