摘要:本篇主要介绍了Web前端JavaScript开发入门到精通-Javascript 创建对象的几种方式,通过具体的内容展现,希望对大家web前端JavaScript的学习有一定的帮助。
本篇主要介绍了Web前端JavaScript开发入门到精通-Javascript 创建对象的几种方式,通过具体的内容展现,希望对大家web前端JavaScript的学习有一定的帮助。
我所熟悉的创建方式有以下几种:
一、使用对象字面量的方式{}
代码如下:
var person ={
name: "zs",
age: 21,
family: ["lisi","lisa","wangwu"],
}
在使用同一接口创建多个对象时,会产生大量重复代码
二、使用Object 关键字方式来创建 (工厂模式)
代码如下:
var wcDog = new Object();
wcDog.name="旺财";
wcDog.age=3;
wcDog.work();
工厂模式解决了重复实例化多个对象的问题,但没有解决对象识别的问题
三、用构造函数来创建
代码如下:
无参构造函数:
function Person(){
}
var personOne=new Person();
//定义一个 function,如果有 new 关键字去"实例化",那
么该 function 可以看作是一个类
有参构造函数
function Pet(name,age,hobby){
this.name=name;//this 作用域:当前对象
this.age=age;
this.hobby=hobby;
var maidou =new Pet("麦兜",5,"睡觉"); // 实例化/创建对象
可以使用有参构造函数来实现,这样定义更方便,扩展性更强
四、使用原型对象的方式 (prototype 关键字)
代码如下:
function Dog(){ }
Dog.prototype.name ="旺财";
Dog.prototype.eat = function(){
alert(this.name + "是个吃货");
}
var wangcai = new Dog();
wangcai.eat();
var dog2 = new Dog(); //创建实例dog2
dog2.name = "wangwu";
原型模式的好处是所有对象实例共享它的属性和方法(即所谓的共有属性)
还可以如上最后两行代码设置自己的属性(方法),可以覆盖原型对象上的同名属性(方法)
五、混合模式(原型和构造函数)
构造函数模式用于定义实例属性,原型模式用于定义方法和共享的属性
代码如下:
function Car(name,price){
this.name=name;
this.price=price;
}
Car.prototype.sell=function(){
alert("我是"+this.name+",我现在卖"+this.price+"万元");
}
var camry = new Car("凯美瑞",27);
camry.sell();
可以看出,混合模式共享着对相同方法的引用,又保证了每个实例有自己的私有属性。最大限度的节省了内存
六、动态原型的方式
相当于混合模式的一种
代码如下:
function Car(name,price){
this.name=name;
this.price=price;
if(typeof Car.sell=="undefined"){
Car.prototype.sell=function(){
alert("我是"+this.name+",我现在卖"+this.price+"万元");
}
Car.sell=true;
}
}
var camry = new Car("凯美瑞",27);
camry.sell();
以上几种,是 javascript 中最常用的创建对象的方式
✅ 扫码免费获取基础课程·答疑解惑·职业测评
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号