JS 面向对象漫笔
JS 面向对象随笔
一:从原型对象生成实例对象
首先建立生成实例对象的原始模型,然后根据原始对象的模型生成实例对象
例如原型对象
var item= {
name : '';
price : '';
}
最简单的封装,把属性封装在对象里面
var item1={};
item1.name = "铅笔";
item1.price = 5;// 按照原型对象的属性赋值
二:原始模式的改进
function item(name,price) {
return {
name:name;
price:price;
}
}
然后生成实例对象,就等于是在调用函数
var item1 = item("铅笔","5");
这种模式短处是实例对象之间没有内在的联系,不能反映出它们是同一个原型对象的实例
三:构造函数其实就是一个普通函数,但是内部使用了this变量。对构造函数使用new运算符,就能生成实例,并且this变量会绑定在实例对象上。
例原型:function item(name,price){
this.name=name;
this.price=price;
}
实例:var item1 = new item('铅笔',5);
console.log(item1)===>输出为{name:铅笔,price:5}
一:从原型对象生成实例对象
首先建立生成实例对象的原始模型,然后根据原始对象的模型生成实例对象
例如原型对象
var item= {
name : '';
price : '';
}
最简单的封装,把属性封装在对象里面
var item1={};
item1.name = "铅笔";
item1.price = 5;// 按照原型对象的属性赋值
二:原始模式的改进
function item(name,price) {
return {
name:name;
price:price;
}
}
然后生成实例对象,就等于是在调用函数
var item1 = item("铅笔","5");
这种模式短处是实例对象之间没有内在的联系,不能反映出它们是同一个原型对象的实例
三:构造函数其实就是一个普通函数,但是内部使用了this变量。对构造函数使用new运算符,就能生成实例,并且this变量会绑定在实例对象上。
例原型:function item(name,price){
this.name=name;
this.price=price;
}
实例:var item1 = new item('铅笔',5);
console.log(item1)===>输出为{name:铅笔,price:5}