1.对象是带有属性和方法的特殊数据类型
2.创建对象的3种方法:
(1)直接创建
例: var zhangsan={
name:"张三",
age:18
}
(2)工厂方式
例:function createHerro(namex,shengaox,agex){
var hero=new Object();
hero.name=namex;
hero.shengao=shengaox;
hero.age=agex
}
var ahong=createHero("阿红",176,19)
document.write(ahong.age)
(3)构造函数方式:函数名首字母大写;调用时加new关键字
function hero(namex,shengaox,agex){
this.name=namex
this.shengao=shengaox
this.age=agex
}
var ahong=new Hero("阿红",176,19)
3.原型
原型是一个对象,其他对象可以通过它实现属性继承。
每个函数都有一个属性叫做prototype
原型默认的只有一个叫做constructor的属性(指向函数本身)
对象通过__proto__找原型
构造函数通过.prototype找原型
原型里默认的只有一个叫做constructor的属性,可通过该属性访问构造的函数,也被儿子继承。
hasOwnProperty()方法
用于检测一个对象自身是否具有某个属性。返回true或false
in操作符
用来判断某个属性属于某个对象,可以是直接属性也可以是继承的属性
如果使用delete删除一个属性,再次用in检查时,会返回false。
isPrototypeOf()方法
用来判断某个prototype对象和某个实例之间的关系。
网友评论