Js中调用new方法生成对象的过程
来源:互联网 发布:上海期货交易软件下载 编辑:程序博客网 时间:2024/06/06 06:55
var tes1=new Object();
console.log(tes1.constructor);
console.log(tes1.__proto__);
Object() { [native code] }
Object {}
function test(){
this.name="myName";
}
var tes2 = new test();
console.log(tes2.constructor);
console.log(tes2.__proto__);
result:
test(){
this.name="myName";
}
Object {}
1.当new 一个函数时,先创建一个{}对象,该对象的constructor为new 关键字后的函数,prototype为Object{}(js中Object为所有对象的父类,
将生成对象的 prototype设为Object{}就达到了这种效果,也可显式设置prototype,)之后执行constructor的代码,若代码中的有this,那么这个this代表{},所以constructor中的this.属性|方法会在{}中生成。
对于其它的方式生成的对象
如:
var tes3={};
console.log(tes3.constructor);
console.log(tes3.__proto__);
result:
Object() { [native code] }
我们可以发现其结果和new Object()相同可以得出,以该种方式创建的对象和之前无差别Object {}
但当我们执行以下代码时(函数本身也是一个对象)
console.log(test.constructor);
console.log(test.__proto__);
result
Function() { [native code] }
() {}
通过以上分析可得:在我们定义一个函数时js会生成一个{}对象,constructor为Function(){[nateiv code]},通过该方法对该函数对象进行初始化(使用本地代码)prototype为一个匿名函数(该匿名函数有指向Object的原型),使得该函数通过原型连接到Object对象上构成原型链
HelloWorld
- Js中调用new方法生成对象的过程
- Java中调用对象方法的执行过程
- Java 调用对象方法的执行过程
- Java中对象的初始化生成过程
- js对象生成与调用
- C#中new一个对象的过程说明
- C#中new一个对象的过程说明
- new一个对象的过程
- new一个对象的过程
- js中不同js文件对象、属性、方法互相调用
- 用axis在eclipse中new出webService client生成客户端,调用远程webservice接口的方法
- 在js的对象中使用setTimeout和setInterval调用对象自身方法
- js中直接调用函数和new函数的区别
- asp.net中js调用activex的方法提示“该对象不支持此属性或方法”
- js中构造函数创建对象加不加new的问题
- js中构造函数创建对象加不加new的问题
- 动态生成SQL的存储过程,以及调用方法
- dwr调用参数为 对象数组 的方法(js中直接传递obj数组)
- javascript的函数定义
- 编程之美1.2——将帅问题
- linux---我电脑把给ubuntu分区删了开机就是什么grub rescue怎么办
- 算法题:字符串分隔填充
- #98 Sort List
- Js中调用new方法生成对象的过程
- CentOS6.5 安装 Mysql
- CodeForces 546D (质因子打表法)
- iOS开发 - 屏幕适配之VFL语言
- Java 中 Comparable 和 Comparator 比较
- iOS之NSURLConnection
- 关于视频剪辑算法的简单实现
- STS设置在其他文档上使用HTML验证的方法
- Python快速学习第四天