Object类 闭包

第33讲 Object类 闭包 成员函数再说明 聪明的猪小练习_猪

//初步体验Object类,通过Object直接创建对象

var p1=new Object();

p1.name="sp";

window.alert(p1.constructor);

◆加深对类和对象的认识

如何累添加方法(如何型的所有象添加方法)

思考js的Array展一find(val)方法

Array方法的候,如果能找

到val返回其下。否返回-1。

//体验一下array

var arr1=new Array(3);

arr1[0]="George";

arr1[1]="John";

arr1[2]="Thomas";

//遍历该数组

for(var i=0;i<arr1.length;i++){

document.write(arr1[i]+"&nbsp;");

}

//使用Array提供的方法,颠倒数据

arr1.reverse();

document.write("&lt;br/>");

//遍历该数组

for(var i=0;i&lt;arr1.length;i++){

document.write(arr1[i]+"&nbsp;");

}

//现在我们一起看看如何给所有Array对象添加一个方法find(val)

Array.prototype.find=function(val){

//遍历数组 this

for(var i=0;i&lt;this.length;i++){

if(val==this[i]){

return i;

}

}

return -1;

}

document.writeln("John 下标="+arr1.find("sp"));

◆闭包

这个知识点,在讲封装的时候再说

◆成员函数的细节

①成员函数的参数可以是多个

function 函数名(参数1…){

}

① 员函数可以有返回值,也可以没有,但是有的话,最多只有一个

② js中不支持函数的重载,具体案例

//后一个test会覆盖前一个test方法,js中没有重载,调用时只会认最后一个方法

function test(a,b){

window.alert("hello");

}

function test(a){

window.alert(a);

}

function test(a,b){

window.alert(a+"&nbps;"+b);

}

//test(23);

window.test(3,"hello");

结论:js在调用一个函数的时候是根据函数名来调用,如果有多个函数名相同,则认最后那个函数