//原型prototype
/* 解析器会向函数中添加一个prototype属性 这个属性对应一个对象,这个对象就是原型对象 普通函数调用prototype没有任何作用 当函数以构造函数的形式调用时,隐含一个属性指向该构造函数的原型对象 通过_proto_来访问该属性 原型对象相当于一个公共区域, 现在对象中寻找,再去原型对象中寻找 */
Person.prototype.sayName = function(){
alert("hello"+this.name);
};
var per = new Person("孙悟空",18,"男");
var per2 = new Person("猪八戒",18,"男");
per.sayName();
per2.sayName();
//创建一个构造函数
function MyClass(){
}
MyClass.prototype.name = "我是原型中的名字";
var mc = new MyClass();
mc.age="18";
//使用in检查对象中是否含有某个属性时(含原型函数)
// console.log("name" in mc);
//使用对象的hasOwnProperty()检查对象自身中是否含有该属性(不含原型函数)
console.log(mc.hasOwnProperty("age"));