javaScript权威指南之类的创建
来源:互联网 发布:战地4狙击枪数据 编辑:程序博客网 时间:2024/05/09 01:06
javaScript权威指南之类的创建
工厂方法创建类创建
通过inhreit()创建一个继承自它的对象,这样就建了一个JavaScript类。
// 工厂方法创建类function range(from, to){ var r = inherit(range.methods); r.from = from; r.to = to; return r;}// 所有的对象继承自这个对象range.methods = { include: function(x){ return this.from <x && x<= this.to; }, foreach: function(f){ for(var x = Math.ceil(this.from);x <= this.to;x++){ f(x); } }, toString: function(){ return "("+this.from+"..."+this.to+")"; }};var r = range(1,3); //创建对象rr.include(2); //返回true,r.foreach(console.log);//console.log(r);
利用构造函数创建类
对象的创建需要通过new关键字,这就是构造函数和工厂方法的创建对象的区别
// 利用构造函数创建类//构造函数,用于初始化对象function range(from, to){ this.from = from; this.to = to;}// 所有的对象继承自这个对象range.prototype = { include: function(x){ return this.from <x && x<= this.to; }, foreach: function(f){ for(var x = Math.ceil(this.from);x <= this.to;x++){ f(x); } }, toString: function(){ return "("+this.from+"..."+this.to+")"; }};var r = new range(1,3); //创建对象rr.include(2); //返回true,r.foreach(console.log);//console.log(r);
构造函数和类的标识
原型对象是类的唯一标示,当且仅当两个对象继承自同一个原型对象时,它们才是同一个类的实例。
构造函数的类的共有标识
constructor属性
每一个JavaScript函数都自动拥有prototype属性,这个属性的值是一个对象,这个对象包含唯一一个不可枚举的constructor属性
prototype属性又指向了一个prototype对象,注意prototype属性与prototype对象是两个不同的东西,要注意区别。在prototype对象中又有一个constructor属性,这个constructor属性同样指向一个constructor对象,而这个constructor对象恰恰就是这个function函数本身。
new 一个对象步骤
new形式创建对象的过程实际上可以分为三步:
1. 建立一个新对象(叫A吧);
2. 将该对象(A)内置的原型对象设置为构造函数(就是Person)prototype 属性引用的那个原型对象;
3. 就是将该对象(A)作为this 参数调用构造函数(就是Person),完成成员设置等初始化工作。
其中第二步中出现了一个新名词就是内置的原型对象,注意这个新名词跟prototype对象不是一回事,为了区别我叫它inobj,inobj就指向了函数Person的prototype对象。在person的prototype对象中出现的任何属性或者函数都可以在one对象中直接使用,这个就是javascript中的原型继承了。
one是创建的对象
一个牛逼的链接
关于JS中的constructor与prototype
- javaScript权威指南之类的创建
- javascript权威指南 锋利的jquery css权威指南
- JavaScript复数类创建(转自JavaScript权威指南)
- javascript权威指南的一点总结
- 我的javascript权威指南-5
- 我的javascript权威指南-6
- 我的javascript权威指南-7
- 我的javascript权威指南-8
- 我的javascript权威指南-9
- 我的javascript权威指南-10
- 我的javascript权威指南-11
- 我的javascript权威指南-12
- 我的javascript权威指南-13
- JavaScript面向对象之类的创建
- JavaScript权威指南
- JavaScript权威指南
- 《JavaScript权威指南》读书笔记
- javascript权威指南读书笔记
- 数据绑定语法
- Spring交互ajax
- 51nod 1416两点DFS
- 垃圾回收算法之标记-清除算法
- Java线程的学习_线程同步
- javaScript权威指南之类的创建
- 数据结构:字符串的基本操作
- 收集物理cpu 内存使用率 网络带宽流量
- 使用log4cxx报错:error C2252: 只能在命名空间范围内显式实例化模
- PMP学习笔记之第二章 组织影响和项目生命周期
- Mysql5.7.15 Linux 安装教程
- 《第一行代码》11.3.2 使用 HttpURLConnection 代替 HttpClient
- 如何使用 Repository 模式?
- saliency detection论文(一)—Saliency Detection: A Spectral Residual Approach