我知道我们可以设置一个函数属性,如下所示
function f(){}
f['a']=1;//setting function property from outside
alert(f.a)//alert 1
但是是否可以按如下方式设置函数的属性,或者是否有其他类似的方法在函数内部而不是从外部声明属性?
function f() {
a: 1
}
alert(f.a); //get 1 as output
编辑:
寻找某种不使用函数构造函数创建任何对象或使用原型(prototype)的方法
最佳答案
不,没有。函数内部只有函数体,即调用函数时执行的代码。函数文字/声明不是对象文字,即使两者都使用花括号。
如果您正在寻找一种比赋值更具声明性的方式来将静态属性放在函数上,请使用某种扩展
功能:
var f = Object.assign(function f() {}, {
a: 1
});
(所有 _.extend
、 $.extend
、 Object.assign
都适用于此目的 - 否则只需使用 f.a =
)
关于javascript - 在里面声明函数属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31412639/