【发布时间】:2016-03-05 09:11:20
【问题描述】:
我在 java 脚本中遇到了一个有趣的情况,我无法理解:
考虑以下函数:
T = function(){
this.help = 'foo';
var n = function(){};
return 'test';
}
写t = new T();时,t是一个实例对象,返回参数被忽略。
但是,写的时候
T = function(){
this.help = 'foo';
var n = function(){};
return n;
}
写入t = new T(); 将导致t 成为function,而不是对象。所以返回值不会被忽略,this 部分会被忽略(分配局部变量)
所以我的两个问题:
- 为什么?
- 还有其他情况会发生这种情况吗?
【问题讨论】:
标签: javascript function object constructor