new运算符工作原理(new运算符的伪码实现)
Posted zhangchs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了new运算符工作原理(new运算符的伪码实现)相关的知识,希望对你有一定的参考价值。
// 只要函数创建,就有一个prototype属性
// 构造函数和普通函数的区别就是调用的时候又没有用 new function Fn()
// this 就是实例化后的对象 三段式 var this = __proto__: Fn.prototype ; this.XXX = XXX; return this;
// 原型
Fn.prototype =
// 浏览器自带
constructor: Fn() // 构造函数
__proto__:Object
;
obj->Fn.prototype->Object.prototype->null
//new运算符的伪码实现 function _new(clazz, args) //clone(clazz.prototype) var this = ; this.__proto__ = clazz.prototype; var obj = clazz.apply(this, args); var type = typeof obj; if(type == "object" && obj !== null || type == "function") return obj; else return this; /* 另一种写法 if(obj === null || type == "undefined" || type == "boolean" || type == "number" || type == "string") return this; else return obj; */ var a = new ClassA(1,2); var a = _new(ClassA, [1,2]); //伪码
来源:https://wmingjian.iteye.com/blog/1881658
create read update delete
create select update delete
以上是关于new运算符工作原理(new运算符的伪码实现)的主要内容,如果未能解决你的问题,请参考以下文章