js原型对象


我们看图来了解构造函数原型对象对象实例之间的关系:
1.构造函数有prototype属性指向原型对象
2.原型对象有个constructor属性指回构造函数
3.每个对象实例有个_proto_属性(浏览器支持的)指向原型对象



  • isPrototypeOf() 来检测对象的原型和原型对象是否有关系
  • Object.getPrototypeOf() 获取对象实例的原型对象(ES5新增的方法)。兼容性:IE9+
  • hasOwnProperty(),用来确定访问的属性在不在对象实例本身
  • hasPrototypePorperty(),用来确定访问的属性在不在原型对象中
  • in操作符 作用:直接问对象中有没有某某属性,无论在对象实例本事还是在原型对象中,只要有就返回true,否则false
  • for-in 作用:用来遍历某个对象的所有属性
  • Object.keys() 作用:取得对象所有可枚举的属性。接受一个对象作为参数,返回对象属性的数组。(ES5的方法)



组合使用构造函数模式和原型模式

1.构造模式用于定义实例属性。
2.原型模式用来定义方法和共享的属性。

  


    function Person(name , age , sex){

//这里定义实例的属性

this.name = name ;

this.age = age ;

this.sex = sex;}

//下面定义共享的属性和方法

Person.prototype = {

constructor : Person ,

sayHi : function (){

console.log("hi"); }}

//创建你的对象吧

var girl = new Person("玲玲",18,"female");

var boy = new Person ("元元",20,"male");

//各自的名字console.log(girl.name); //"玲玲"

console.log(boy.name); //"元元"

//打招呼girl.sayHi(); //hi

boy.sayHi(); //hi






猜你喜欢

转载自blog.csdn.net/alright_well/article/details/78457640
今日推荐