Web前端面试指导(三十九):new操作符具体干了什么呢?
2016-10-11 22:28
549 查看
题目点评
考察对new关键的深刻认识,是否对前端知识有专研,如果没有专研的人,肯定说创建了一个对象,恭喜你面试官知道你是小菜鸟来的,这次面试基本上没有太大的希望了。一定要对new过程的4个步骤非常清楚,这样才能深深地抓住面试官的心!
题目解析
先看代码
new共经过了4几个阶段
1、创建一个空对象
2、设置原型链
3、让Func中的this指向obj,并执行Func的函数体。
4、判断Func的返回值类型:
如果是值类型,返回obj。如果是引用类型,就返回这个引用类型的对象。
考察对new关键的深刻认识,是否对前端知识有专研,如果没有专研的人,肯定说创建了一个对象,恭喜你面试官知道你是小菜鸟来的,这次面试基本上没有太大的希望了。一定要对new过程的4个步骤非常清楚,这样才能深深地抓住面试官的心!
题目解析
先看代码
var Func=function(){ }; var func=new Func ();
new共经过了4几个阶段
1、创建一个空对象
varobj=new Object();
2、设置原型链
obj.__proto__= Func.prototype;
3、让Func中的this指向obj,并执行Func的函数体。
var result =Func.call(obj);
4、判断Func的返回值类型:
如果是值类型,返回obj。如果是引用类型,就返回这个引用类型的对象。
if (typeof(result) == "object"){ func=result; } else{ func=obj;; }
相关文章推荐
- Web前端面试指导(三十二):同步和异步有什么区别?
- Web前端面试指导(二十九):Ajax 是什么? 如何创建一个Ajax?
- Web前端面试指导(三十七):eval是做什么的?
- Web前端面试指导(十二):::before 和:before有什么区别?
- Web前端面试指导(四十五):页面渲染原理是什么?
- Web前端面试指导(十八):用纯CSS创建一个三角形的原理是什么?
- Web前端面试指导(二十七):原型是什么?原型链是什么?
- Web前端面试指导(二十八):什么是闭包,为什么要用它?
- Web前端面试指导(四十四):什么是响应式开发?
- Web前端面试指导(十二):::before 和:before有什么区别?
- Web前端面试指导(二十四):事件是什么?如何阻止事件冒泡?
- Web前端面试指导(二十六):JSON 格式是什么?你了解吗?
- Web前端面试指导(完结)
- Web前端面试指导(四):面试前准备-有备而去百战百胜
- H5面试题---new操作符具体干了什么呢?和null和undefined的区别?
- Web前端面试指导(一):写好简历是面试成功的第一步
- Web前端面试指导(三):简历投递诀窍
- Web前端面试指导(三十八):js延迟加载的方式有哪些?
- Web前端面试指导(二):编写简历,吃透简历内容
- new操作符时具体是干了些什么