You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript中查看手动添加到函数的属性有哪些方法?

聊聊JavaScript中函数作为一等对象的属性操作

嘿,咱们来拆解一下JavaScript里函数作为一等对象这个有趣的特性——简单来说,函数在JS里和普通对象没啥两样,你完全可以像给对象加属性那样给函数加属性。

先看这段示例代码,咱们一步步分析:

function a() { a.firstProp = "I'm 1st - property"; }
a.seccondProp = "I'm 2st - property";
function b() { a(); }
b(); // 初始化`function a`的第一个属性(firstProp);
console.log( Object.getOwnPropertyNames(b) );
console.log( Object.getOwnPropertyNames(a) );

代码逐行解析:

  • 定义函数a时,它的内部逻辑是给自己添加firstProp属性——注意这个属性只有在a被执行的时候才会被创建;
  • 直接在函数对象a上添加了seccondProp属性——这种方式不需要执行函数,直接操作函数对象本身就能完成;
  • 函数b的作用很简单,就是调用a;
  • 执行b()后,a被调用,它的firstProp属性也就被初始化了;
  • 最后用Object.getOwnPropertyNames()来打印两个函数的自有属性:
    • 对于b,因为我们没给它加过自定义属性,所以输出的是函数默认自带的属性集合,比如length、name、prototype这些;
    • 对于a,输出会包含默认属性,再加上我们手动添加的firstProp和seccondProp。

另外你提到原问题里有关于C语言的相关内容,但表述没完成,如果后续补充完整的细节,咱们可以再针对性讨论哦~

内容的提问来源于stack exchange,提问作者Yellowfun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:33:43