我知道我们可以设置一个函数属性,如下所示
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
修改
寻找一些不使用函数构造函数创建任何对象或使用原型的方法
答案 0 :(得分:2)
不,没有。函数内部仅进行正文,即调用函数时执行的代码。函数文字/声明不是对象文字,即使两者都使用花括号。
如果您正在寻找比将静态属性放在函数上的赋值更具声明性的方法,请使用某种extend
功能:
var f = Object.assign(function f() {}, {
a: 1
});
(所有_.extend
,$.extend
,Object.assign
都可以用于此目的 - 否则只需使用f.a =
)
答案 1 :(得分:-1)