javascript中为什么无法为Function动态添加属性?

var t = new Function();
t.name = "xiaolu";
alert(t.name);
这段代码,不会输出“xiaolu",但是如果 是:<pre name="code" class="html">var t = new String();//或者 new Object();
那么就是成立的。
 
自己没有想出原因,在网上 也看到有人这样写:
<pre name="code" class="javascript">var f  = function(){}
var t = new f();
t.name = "xiaolu";
alert(t.name);
</pre>是可以的。
但是:
<pre name="code" class="javascript">var a = function(){}
 a.name = "xiaolu";
alert(a.name);

又是无法输出空白(null) 改成 a.bb(非name)就可以。name在Function中有什么特殊意义吗?
 
</pre><pre name="code" class="javascript">
刚才又做了测试,发现一个怪异的问题:
<pre name="code" class="javascript">var t = new Function();
t.bb = "xiaolu";
alert(t.bb);

是可以输出的,但是换成 t.name = "xiaolu"就不行了,小弟刚学js没多久,希望搞明白为什么,难道Function不是对象,不具有对象那种动态添加属性的特性?希望懂得高手予以解惑,谢谢。

 
</pre><pre name="code" class="javascript">
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值