请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

new 一个函数的问题

function Fn(){
var a =100
return function(){
console.log(a)
}
}
f1 = Fn()
f2 = new Fn()

请问老师,f1 和 f2 有什么区别吗?

正在回答 回答被采纳积分+3

1回答

双越 2019-03-16 16:41:41

为何要用 f2 = new Fn()  ?你具体想干嘛?

0 回复 有任何疑惑可以回复我~
  • 提问者 爬上屋顶看风景 #1
    不是想干什么,我只是发现他们得到的结果一样,没理解为什么,请教一下老师
    回复 有任何疑惑可以回复我~ 2019-03-16 16:42:51
  • 双越 回复 提问者 爬上屋顶看风景 #2
    结果是一样的。如果 Fn 不是一个构造函数,那么直接执行 Fn() 和执行 new Fn() 结果就是一样。但是 —— 如果 Fn 不是一个构造函数,千万别用 new Fn() ,否则会造成不必要的误解。
    回复 有任何疑惑可以回复我~ 2019-03-16 21:17:48
  • 老师我想顺便问一下,像这样将一个函数作为返回值的情况,是不是其实返回的是这个函数的存储地址啊,所以该函数无论执行多少次,返回的都是相同的?
    回复 有任何疑惑可以回复我~ 2019-04-25 16:16:24
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号