javascript - 在里面声明函数属性

标签 javascript function properties scope

我知道我们可以设置一个函数属性,如下所示

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$.extendObject.assign 都适用于此目的 - 否则只需使用 f.a = )

关于javascript - 在里面声明函数属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31412639/

相关文章:

java - 如何为 Java 和 jQuery i18n 共享相同的属性文件

javascript - 使用 --detectOpenHandles --forceExit 运行 jest 是否有副作用?

javascript - 如何找出两个字符串之间第一次出现差异的位置?

javascript - 当我单击 HTML 中的 anchor 链接时,有什么方法可以打开全屏打开的 ppt 文件?

javascript - 如何使用 Fontselect jQuery 插件以编程方式选择字体?

swift - Swift语言中观察者属性didSet和willSet有什么用?

objective-c - 属性(property)继承 : Auto property synthesis will not synthesize property

javascript - 根据回调函数对对象进行分组

javascript - 如何创建一个 jQuery 函数(一个新的 jQuery 方法或插件)?

c++ - 使用结构名称作为函数