创建对象的三种方式
1.字面量的方式
var per={
name:"张三",
age:20,
eat:function(){
}
}
2.调用系统的构造函数
var per new Object();
per.name="张三";
per.age=20;
per.eat=function(){
}
3.自定义构造函数
function Person(name,age) {
this.name=name;
this.age=age;
this.eat=function(){
}
}
var per=new Person("张三",20)
判断这个对象是不是这种类型的方式
1.console.log(per.constructor==Person)
2.console.log(per instanceof Person)
通过原型添加方法:(解决数据共享,节省内存空间)
原型:__proto__或者 prototype
unction Person(name,age) {
this.name=name;
this.age=age;
}
Person.prototype.eat=function(){
}
var per=new Person("张三",20)
简单的原型写法
Person.prototype={
//手动修改构造器的指向
constructor:Person,
height:"168",
weight:"48kg",
stuly:function(){
}
}
点击按钮,改变div多个样式的属性值(面向对象的方法)
function ChangeStyle(btnObj,divObj,json){
this.btnObj=btnObj;
this.divObj=divObj;
this.json=json;
}
ChangeStyle.prototype.init=function(){
var that=this;
this.btnObj.onclick=function(){
for(var key in that.json){
that.divObj.style[key]=that.json[key]
}
}
}
如何把局部变量变成全局变量
(function(win){//函数的自调用
var num=10;//局部变量
win.num=num;//js是一门动态类型的语言,对象.属性,则直接创建该属性
})(window)
console.log(num);//输出10,num变成全局变量