构造函数 (帕斯卡命名法)
function Person(age,name){
this.age=age;
this.name=name;
}
// 创建一个对象 并初始化
var p1=new Person(20,'小羽');
//创建对象中new 关键字的作用
: 1,创建一个新的对象 new Object(); 2 用this来指向这个个创建的对象, 3(给这个对象添加属性和值)执行代码中的逻辑 最返回一个新对象;
// 构造函数中有prototype(原型) 实例化对象中有__proto__ (原型) 他们是同一个属性(对象) 实例化中的 __proto__指向的是实例化对象的所在的构造函数下的prototype指向为位置 就是原型对象 其中 prototype原型对象下 有 constructor 构造器 指向改prototype所在的 改构造函数
// prototype 是对象 是程序员使用的 __proto__是浏览器使用的 标准的对象.__proto__.方法名() ie下是对象.方法名();
// 结论:
// 1.构造函数中 prototype 原型对象下的属性和方法 实例化对象都可以用
// 2 构造函数中的this 在创建对象的时候 this为实例化对象
// 3方法中的this 是当前调用改方法的实例化对象
// 4原型对象的方法中this 指的是 实例化的对象
// 5.什么样的属性需要添加到 prototype中去? 需要共享的方法或者属性 需要添加到原型中去 不需要共享的属性或者方法 就直接填到 构造函数中去 或者 为某个实例化对象添加
// 6 构造函数中的this (不创建对象)指向的事全局Window