构造函数(方法)

1.构造函数
构造函数是一种特殊的方法,它的主要作用是完成对对象实例的初始化。
特点:
(1)构造函数(方法)名和类名相同
(2)在创建一个对象实例时,系统会自动的调用该类的构造方法完成对新对象的初始化。

2.构造函数的基本用法
function 类名(参数列表){
属性=参数值;
}
举例:

function Person(name,age){
    this.name=name;
    this.age=age;
}
//创建Person对象的时候就直接可以给名字,年龄
var p1=new Person('abc',80);
window.alert(p1.name);

3.在给一个对象初始化属性值的时候,也可以指定函数属性。
举例:

function jiSuan(num1,num2,oper){
    if(oper=="+"){
    return num1+num2;   
    }else if(oper=="-"){
        return num1-num2;   
    }else if(oper=="*"){
        return num1*num2;
    }else{
        return num1/num2;
    }
}

    function Person(name,age,fun){
        this.name=name;
        this.age=age;
        this.myfun=fun;
    }   
    var p1=new Person("aa",9,jiSuan);
    window.alert(p1.name);
    window.alert(p1.myfun(70,80,"+"));

4.有了构造函数后,对类(原型对象)的定义就可以进一步完善。

function 类名(){
    属性;
}
function 类名(){
    属性;
    函数(方法);
}
function 类名(参数1,参数2...){
    属性=参数1...
    函数=参数2;
}

5.创建对象的又一种形式
如果一个对象比较简单,我们可以直接创建(可以指定普通属性和函数属性)

var dog={name:'小狗'age:8,fun1:function(){window.alert("hello world")}};
window.alert(dog.constructor);
window.alert(dog.name+dog.age);
dog.fun1();

6.有时我们会看到这样一种调用方法

函数名.call(对象实例);
//这样调用,该函数的this就是对象实例

举例:

var dog={name:'hello'};
function test(){
    window.alert(this.name);
}
test();  //输出undefined
window.test();//输出undfined
test.call(dog);//相当于调用test(),同时this执行dog对象,输出hello
new test(); //输出undfined

7.

var dog={name:'小明',sayHello:function(a,b){window.alert("结果="+(a+b));}};
//循环列出dog对象的所有属性和方法 对象名['属性名']
for(var key in dog){
    window.alert(dog[key]);
}
document.write("***当前浏览器window对象有属性和方法***<br/>");
for(var key in window){
    document.writeln(key+":"+window[key]+"<br/>");
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值