1、JS面向对象构造函数
function Person(){
this.name = '张三'
this.fn = function (){
document.write(this.name)
}
}
/* new 先创造了一个是实例化对象 并且把this给了实例化对象per1 */
/* 也就是把属性和方法给了per1 */
let per1 = new Person();
console.log(per1);
2、工厂模式
function gc(name,age){
let obj = new Date();
obj.name = name;
obj.age = age;
obj.eat = function (){
document.write(`${obj.name} 年纪${obj.age} 会吃饭`);
}
return obj;
}
let p1 = gc('张胜男1',30);
let p2 = gc('张胜男2',30);
let p3 = gc('张胜男3',30);
p1.eat();
/* 工厂函数看不清里面对象的类型 */
/* 多次调用会重复的new一个对象 开辟一个内存 不利于性能 */
document.write( p1.getHours() );
/* 写一个构造函数 Car 有属性color price 有方法 run 打印出 什么颜色 什么价格 会跑 */
/* 通过new一个实例化对象的方式 实现 */
function Car(color,price){
this.color = color;
this.price = price;
this.run = function (){
document.write(`${color} ${price} 会跑`);
}
}
let car1 = new Car('红色','100w')
let car2 = new Car('白色','200w')
let car3 = new Car('黄色','300w')
car1.run();
car2.run();
car3.run();
3、 const的用法
4、栈内存和堆内存
**
\