传统方式:通过function关键字来定义一个对象类型 1234567891011 function People(name) { this.name = name}People.prototype.toSay= function () { alert("我的名字是:" + this.name)}People.prototype.toEat= function () { alert("我吃饭")}var p = new People("小明")p…
1.构造函数和原型 1.1对象的三种创建方式 字面量方式 var obj = {}; new关键字 var obj = new Object(); 构造函数方式 function Person(name,age){ this.name = name; this.age = age; } var obj = new Person('zs',12); 1.2静态成员和实例成员 1.2.1实例成员 实例成员就是构造函数内部通过this添加的成员 如下列代码中uname age sing 就是实例成员,…
ECMA-262 把对象定义为:”无序属性的集合,其属性可以包含基本值.对象或者函数.”可以把 ECMAScript 的对象想象成散列表:无非就是一组名值对,其中值可以是数据或函数. 6.1.理解对象 创建自定义对象的两种方式: (1)创建一个 Object 的实例: var person = new Object(); (2)对象字面量(首选): var person = {}; --------------------------------------------------…
代码信息来自于http://ejohn.org/apps/learn/. 可以修改内置对象的方法. if (!Array.prototype.forEach) { Array.prototype.forEach = function(fn){ for ( var i = 0; i < this.length; i++ ) { fn( this[i], i, this ); } }; } ["a", "b", "c"].forEach(fun…
我们接着上文继续,我们通过原型方式,解决了多个实例的方法共享问题,接下来,我们就来搞清楚原型(prototype),原型链的来龙去脉. function CreateObj(uName) { this.userName = uName; } CreateObj.prototype.showUserName = function(){ return this.userName; } var obj1 = new CreateObj('ghostwu'); var obj2 = new Create…
javascript中的每个对象都有prototype属性,Javascript中对象的prototype属性的解释是:返回对象类型原型的引用. 每一个构造函数都有一个属性叫做原型 1.1. 原型法设计模式 原型法的主要思想是,现在有1个类A,我想要创建一个类B,这个类是以A为原型的,并且能进行扩展.我们称B的原型为A. 1.2.javascript的方法可以分为三类: a 类方法 b 对象方法 c 原型方法 function People(name) { this.name=name; //对…
原型与原型链 一. 普通对象与函数对象 JavaScript 中,万物皆对象!但对象也是有区别的.分为普通对象和函数对象,Object .Function 是 JS 自带的函数对象.下面举例说明 var o1 = {}; var o2 = new Object(); var o3 = new f1(); function f1(){}; var f2 = function(){}; var f3 = new Function('str'); typeof Object;//function ty…
javascript对象就是一组数据和功能的集合,除原始类型(string.number.boolean.null.undefined)之外,其余都是对象. 可以通过对象直接量(字面量).new.和Object.create()(ECMAScript5)来创建对象. //new var person = new Object(); person.name = "YuanSong"; person.age = 28; //对象字面量 var person = { name : "…