为什么这有效:
var myFunction = function() {}
myFunction.printSomething = function() {
console.log("This is something");
}
myFunction.printSomething();
虽然这不是? (“预期标识符”问题)
var myFunction = function() {
printSomething: function() {
console.log("This is something");
}
}
myFunction.printSomething();
我实际上在第一个示例中成功创建了 myFunction 函数对象的新 printSomething 属性吗?鉴于函数被认为是 javascript 中的对象,我希望两者都能工作。难道是我理解错了?
最佳答案
如果您这样做,第二个示例将起作用:
var myFunction = function() {
return {
printSomething: function() {
console.log("This is something");
}
}
}
myFunction().printSomething();
您使用的语法不起作用。你不能只是让 printSomething: function(){};
卡在这样的函数中间。您可以使用 var printSomething = function(){}
,或者您可以执行我所做的操作并返回一个对象,其中 printSomething: function(){}
是该对象
关于javascript - 将一个函数指定为另一个函数的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59791324/