函数类型的疑惑

gf05011 2012-09-04 09:33:13
var f1 = new function()
{
return "function1" ;
}
var f2 = function()
{
return "function2" ;

}
alert(typeof f1);//提示 object
alert(typeof f2);//提示 function

为啥提示不一样呢?求高人讲解
...全文
100 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
JParser 2012-09-04
  • 打赏
  • 举报
回复
还有一点
在用构造函数实例化的时候(即new 一个对象),构造函数中的return如果返回的不是object类型,会被替换成object(这里是这个新实例化的object,即构造函数里的this)
oggmm 2012-09-04
  • 打赏
  • 举报
回复
第一个是定义一个函数然后对其实例化 将实例化后的对象赋值给f1
第二个其实就是定义了一个函数然后赋值给f2
看看下面的例子

		var f1 = new function() {
alert(this);//定义f1时就已执行 此时this指向该对象
};
var f2 = function(){
alert(this);//执行f2();时才执行 this仍指向window
};
f2();
gf05011 2012-09-04
  • 打赏
  • 举报
回复
还是比较疑惑。。
chenyang37 2012-09-04
  • 打赏
  • 举报
回复
new本来的作用就是创建一个新对象。

87,991

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧