瞌睡中的葡萄虎

博客园 首页 新随笔 联系 订阅 管理

2014年9月3日 #

摘要: 方式缺点优点基于已有对象扩充属性和方法不可重用,没有约束无工厂方法检测不出是什么的实例简单封装,可以传参构造方法每创建一个对象就有开辟存放方法的空间能通过instanceof检测出实例类型,可以传参原型方式不能传参,属性共享方法区共享构造方法+原型属性和方法分开放置能传参,属性放构造方法中,方法放原... 阅读全文
posted @ 2014-09-03 18:08 瞌睡中的葡萄虎 阅读(169) 评论(0) 推荐(0) 编辑

摘要: 为了让定义的方式更加符合java的需求,就把定义方法的原型代码放置在Person这个构造函数中。function Person(name,age,friends){ //属性在构造函数中定义 this.name = name; this.age = age; this.fri... 阅读全文
posted @ 2014-09-03 18:07 瞌睡中的葡萄虎 阅读(314) 评论(0) 推荐(0) 编辑

摘要: 为了解决原型所带来的问题,此处需要通过组合构造方法和原型来实现对象的创建,将属性在构造方法中定义,将方法在原型中定义。这种有效集合了两者的优点,是目前最为常用的一种方式。function Person(name,age,friends){ //属性在构造函数中定义 this.name =... 阅读全文
posted @ 2014-09-03 18:06 瞌睡中的葡萄虎 阅读(223) 评论(0) 推荐(0) 编辑

摘要: 原型内存模型介绍原型是javascript中非常特殊的一个对象,当一个函数创建之后,会随之就产生一个原型对象。当通过这个函数的构造函数创建一个具体的对象之后,在这个具体的对象中就会有一个属性指向原型。第一种状态function Person(){ }function Person(){},Pe... 阅读全文
posted @ 2014-09-03 18:05 瞌睡中的葡萄虎 阅读(264) 评论(0) 推荐(0) 编辑

摘要: 通过构造函数的方式创建和基于工厂的创建类似,最大的区别就是函数的名称就是类的名称,按照java的约定,第一个字母大写。使用构造函数创建对象时,在函数内部是通过this关键字来完成属性的定义。function Person(name, age){ this.name = name; thi... 阅读全文
posted @ 2014-09-03 18:04 瞌睡中的葡萄虎 阅读(255) 评论(0) 推荐(0) 编辑

摘要: 通过工厂的方式来创建Person对象,在createPerson中创建一个对象,然后为这个对象设置相应的属性和方法,之后返回这个对象。function createPerson(name, age){ var obj = new Object(); obj.name = name; ... 阅读全文
posted @ 2014-09-03 18:02 瞌睡中的葡萄虎 阅读(158) 评论(0) 推荐(0) 编辑

摘要: json: javascript simple object notation。json就是js的对象,但是它省去了xml中的标签,而是通过{}来完成对象的说明。定义对象var person = { name : "luogankun", //通过属性名:属性值来表示,不同的属性通过,来间隔 ... 阅读全文
posted @ 2014-09-03 18:00 瞌睡中的葡萄虎 阅读(248) 评论(0) 推荐(0) 编辑

摘要: var person = new Object();person.name = "luogk";person.age = 33;person.say = function(){ alert(this.name + " , " + this.age);//this表示的是调用的对象即person... 阅读全文
posted @ 2014-09-03 17:58 瞌睡中的葡萄虎 阅读(202) 评论(0) 推荐(0) 编辑