带括号的Javascript访问方法?

带括号的Javascript访问方法?,javascript,Javascript,我在一些代码中看到了这一点: var_0xdf50x7=文档['createElement']('form') 这是怎么回事?这是否意味着可以像访问数组元素一样访问对象的方法?由于createElement()方法是文档对象的一种方法,因此可以使用以下任一方法访问它: 或: 如果要调用的方法的名称存储在变量中,则此选项非常有用: var methodName = "createElement"; var form = document[methodName]("form"); 如果要调用的实际

我在一些代码中看到了这一点:

var_0xdf50x7=文档['createElement']('form')


这是怎么回事?这是否意味着可以像访问数组元素一样访问对象的方法?

由于
createElement()
方法是
文档
对象的一种方法,因此可以使用以下任一方法访问它:

或:

如果要调用的方法的名称存储在变量中,则此选项非常有用:

var methodName = "createElement";
var form = document[methodName]("form");
如果要调用的实际方法取决于外部条件,也可以使用它。以下是一个(人为的)示例:


当方法名位于变量中时,通常使用这种形式:
var m=some\u condition?“m1’:‘m2’;o[m]()
@user,有时如果您必须计算要调用的方法,并且希望节省一个
if
语句(或者如果方法名称存储在变量中,正如其他人正确指出的那样),那么它们很有用。如果您要在所给示例中的括号中使用字符串文字,则括号语法没有多大帮助,但是,如果函数名在变量中,或者如果您想应用某些条件来选择哪个函数,例如,
document[someFunction](),则它很有用
文档[someCondition?“someFunction”:“someOtherFunction”]()另外,我在哪里可以了解更多关于带问号的if语句表示法?三元条件运算符?你可以了解更多。
var form = document["createElement"]("form");
var methodName = "createElement";
var form = document[methodName]("form");
function createNode(str, isTextNode)
{
    return document[isTextNode ? "createTextNode" : "createElement"](str);
}