如果您在开发工具的控制台中,并且您有一个对象,比如说x
,它具有三个方法/功能,比如说a()
、b()
和c(i, j, k)
,为什么它不自动插入括号,更不用说正确的括号了当您使用自动完成选项卡或输入时,参数的空格(如 java 的 eclipse)?
它目前只会在选择x.a
、x.b
或x.c
没有函数括号的情况下打印。
我假设它不知道参数,因为它是 JS,而在 Java 中,您只能调用固定顺序和类型的构造函数,其中 JS 可以重载并出错,但我只是想知道是否有可能的。
如果您在开发工具的控制台中,并且您有一个对象,比如说x
,它具有三个方法/功能,比如说a()
、b()
和c(i, j, k)
,为什么它不自动插入括号,更不用说正确的括号了当您使用自动完成选项卡或输入时,参数的空格(如 java 的 eclipse)?
它目前只会在选择x.a
、x.b
或x.c
没有函数括号的情况下打印。
我假设它不知道参数,因为它是 JS,而在 Java 中,您只能调用固定顺序和类型的构造函数,其中 JS 可以重载并出错,但我只是想知道是否有可能的。
我不明白为什么 DevTools 应该假设我会从自动完成中调用一个方法。也许我想.
在方法名称之后添加另一个并查看所有这些我可以调用的 , , 等方法apply
和bind
属性call
?name
我的意思是,这someObject.someMethod()
并不是 JavaScript 的终点。
即使函数被声明为带有一个参数的函数,也不能保证该函数只希望看到一个参数,因为该函数可以使用 arguments 局部变量。
function func(a,b) {
alert(arguments[0])
alert(arguments[1])
alert(arguments[2])
}
func(1,2,3)
有时您也可以将函数作为回调传递。