JavaScript原型(prototype)小记
来源:互联网 发布:mysql 查看数据库权限 编辑:程序博客网 时间:2024/06/04 23:46
一、对象的原型
1、通过构造函数,创建对象:
JavaScript对象的属性,是由自身属性加上原型链中的属性,对象的原型链是由创建它的构造函数决定的,也就是创建对象时,调用的new function,例如:
// 定义一个构造函数// JavaScript中构造函数和普通函数没区别,只是调用的时候使在前面加关键字new则为调用构造函数,不加则为普通调用// 构造函数约定使用大写字母开头(便于与普通函数的区分)function Foo() {}// 通过构造函数新建一个对象var foo = new Foo();
这时新建的foo对象将拥有Foo.prototype属性和自身的属性,假设属性重合,则采用就近原则,使用对象的属性
2、通过语法糖创建对象:
假设我们使用的是语法糖来创建对象的,底层其实也是调用构造函数来创建的
// 通过语法糖来创建对象var foo = { x: 1, y: 2 };// 等价于var foo = new Object();foo.x = 1;foo.y = 2;
也就是说使用语法糖来创建的对象,也默认继承了Object.prototype属性
3、对象默认继承的Object.prototype
另外所有的对象的原型都继承自Object.prototype,也就是在上面通过调用构造函数Foo()创建的对象除了继承了Foo.prototype,还继承了Object.prototype,如下所示:
Object.prototype.a = "Object.prototype.a";function Foo() {}Foo.prototype.b = "Foo.prototype.b";var foo = new Foo();foo.c = "foo.c";console.log("foo.a : " + foo.a);console.log("foo.b : " + foo.b);console.log("foo.c : " + foo.c);/*foo.a : Object.prototype.afoo.b : Foo.prototype.bfoo.c : foo.c*/
0 0
- JavaScript原型(prototype)小记
- javascript 原型(prototype)
- javascript原型继承分析(prototype)
- javascript原型继承分析(prototype)
- JavaScript中的prototype(原型)相关问题
- 封装--javascript的原型(prototype)
- 浅析JavaScript的原型(prototype)(一)
- 封装--javascript的原型(prototype)
- javascript基础:prototype原型(属性、方法)
- javascript prototype 原型链
- 悟透JavaScript原型prototype
- Javascript prototype 原型链
- javascript prototype原型
- 理解JavaScript原型prototype
- javascript原型prototype
- Javascript---原型prototype
- JavaScript中的原型prototype
- JavaScript:prototype原型
- thinkphp篇之__construct()和__initialize()
- Codechef DEC16 SEAINCR
- 字符串的基本操作
- LeanCloud使用入门(android),leancloudandroid
- 爬虫第四战爬取糗事百科搞笑段子
- JavaScript原型(prototype)小记
- 随手涂鸦
- LeetCode 338. Counting Bits
- 重写nodejs开发指南_简易微博实例
- 浅谈Java Web重定向和请求转发
- android 服务存活的方法
- 看了谷歌的视频演示秒懂平衡二叉搜索树--迷之旋转
- eclipse安装完maven后,打开报错 Eclipse is running in a JRE, but a JDK is required
- 现在详解Android App AllowBackup配置带来的风险