如何在节点js中使用括号表示法调用函数

问题描述

我知道我们可以使用点表示法和括号表示法访问数据,但是如果我使用括号表示法访问伪造者数据,则无法访问该数据。有什么方法可以使用括号表示法访问数据?

var faker = require("faker");

console.log(faker.name.findName()); // Output: any name.
console.log(faker["name.findName"]()); // Output:  TypeError: faker.name.findName is not a function

解决方法

问题是

faker["name.findName"] 

将尝试访问"name.findName"对象上名为faker的属性。

为了使用括号符号访问findName,您需要将其更改为:

console.log(faker["name"]["findName"]()); 
,

您不应使用括号符号返回函数。

console.log(faker["name"].findName())

或者如果您真的只想使用方括号,请尝试

let _findName = faker["name"]["findName"];
console.log(_findName());

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...