js这样写为什么log出来的a没有t这个属性

var a = function(){};a.t = 4;console.log(a)→function(){}
为什么log出来的a没有t这个属性,只是function(){}
阅读 2.9k
4 个回答

console.dir(a)
console.dir(a);可以展开看到属性。

console.dir() 将一个JavaScript对象的属性和属性值显示成一个可交互的列表,点击折叠的小三角形可以查看各子属性的内容。

因为a是个函数对象,a={};a.t=4 这样就有了。

实在是厉害.

一楼就是正确答案了,函数也是对象
形如

var a = function(){};
a.t = 4

翻译过来就是我定义了一个函数对象a,这个对象有一个属性叫做t值等于4,如果你console.log(a)即让环境输出a,结果自然是function(){}
a的属性要用a.x或a["x"]访问

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题