js( Object类闭包)

1.最开始接触的创建对象的方法:

    function Person(){
        
    }
    var p1=new Person();

 object创建对象的方法

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <script language="JavaScript" type="text/javascript">
var p1=new Object();
p1.name="海涛";
    
        </script>
    </head>

    <body>
    </body>

</html>

 所有的基类都是Object

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <script language="JavaScript" type="text/javascript">
var p1=new Object();
p1.name="海涛";
    document.write(p1.constructor+"<br/>");
    var i1=new Number(10);
    document.write(i1.constructor);
    
        </script>
    </head>

    <body>
    </body>

</html>
View Code

2.给类传递函数

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <script language="JavaScript" type="text/javascript">
    var i=new Number(10);
    Number.prototype.add=function(a){
        return this+a;
    }
    document.write(i.add(10).add(30)+"<br/>");
    var b=90;
    document.write(b.add(40));
        </script>
    </head>

    <body>
    </body>

</html>
View Code

先体验一下array

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <script language="JavaScript" type="text/javascript">
var arr1=new Array(3);
arr1[0]="dalao1";
arr1[1]="dalao2";
arr1[2]="dalao3";
//遍历
for(var i=0;i<arr1.length;i++){
    document.write(arr1[i]+"&nbsp;");
}
//使用Array提供的方法颠倒数据
document.write("<br/>");
arr1.reverse();
for(var i=0;i<arr1.length;i++){
    document.write(arr1[i]+"&nbsp;");
}
        </script>
    </head>

    <body>
    </body>

</html>
View Code

给jsArray类添加一个find方法

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <script language="JavaScript" type="text/javascript">
var arr1=new Array(3);
arr1[0]="dalao1";
arr1[1]="dalao2";
arr1[2]="dalao3";
//遍历
for(var i=0;i<arr1.length;i++){
    document.write(arr1[i]+"&nbsp;");
}
//使用Array提供的方法颠倒数据
document.write("<br/>");
arr1.reverse();
for(var i=0;i<arr1.length;i++){
    document.write(arr1[i]+"&nbsp;");
}
document.write("<br/>");
Array.prototype.find=function(val){
    //遍历数组this
    for(var i=0;i<this.length;i++){
        if(val==this[i])
        return i;
    }
    return -1;
}

document.write(arr1.find("dalao1"));
        </script>
    </head>

    <body>
    </body>

</html>
View Code

3.闭包的问题

a.成员函数的参数可以有多个,最多一个返回值

b.没有重载的概念

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <script language="JavaScript" type="text/javascript">
            function test(a) {
                document.write(a + "<br");
            }

            function test(a, b) {
                document.write(a + " " + b + "<br/>");
            }
            test(23);
            test(1, 2);
        </script>
    </head>

    <body>
    </body>

</html>
View Code
原文地址:https://www.cnblogs.com/helloworld2019/p/10930301.html