在 javascript 中,我可以创建一个与函数同名的对象,或者我可以为函数对象分配一个新属性,例如:
function func(){
console.log("inside func");
}
func.a = "new property";
console.log(func.a);
func();
console.log(func);
我如何查看分配给函数对象的属性(以及可能的值)是什么?
最佳答案
Functions are special type of Objects in JavaScript.
与其他编程语言不同,函数是 JavaScript 中特殊类型的对象。与其他对象一样,它们有自己的方法(即绑定(bind)、调用、应用等等)。因此,当您将 Prop a
分配给您的 func
时,您并不是在创建一个新的 func
对象。相反,它是相同的 func
对象(函数对象),您只是在其上创建一个新的 prop func.a
。阅读this获取更多信息。此外,您可以执行类似以下操作来打印您分配给函数对象(或 JS 中的任何对象)的所有 Prop :
for (var prop in func) {
console.log(prop); // This will print 'a' in your case
}
关于javascript - 如何在javascript中获取分配给函数对象的所有属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51348907/