首页 > 其他 > 详细

new function 到底做了什么?如何自己实现new function

时间:2020-02-27 11:53:09      阅读:221      评论:0      收藏:0      [点我收藏+]

前言

这是继function 与 Function 关系后写下的。
写这个起源于,我无聊的时候看到一道题目:

'foo' == new function() { var temp=String('foo'); return temp;  };
'foo' == new function() { var temp=new String('foo'); return temp;};

答案是false,与true。

正文

模拟new function实现部分。

function constructor(ourCode)
{
  var obj={};
  var result=ourCode.call(obj);
  if(result.constructor===Object)
  {
    return result;
  }
  return obj;
}

var newojb= constructor(function(){
this.name="dsds";
return "";
});
console.log(newojb);

new function 到底做了什么?如何自己实现new function

原文:https://www.cnblogs.com/aoximin/p/12370503.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!