JavaScript(下)

<script type="text/javascript">
    //演示对象的方法。
    var str = "abcd";
    
    //document.write(str.bold());
    //alert(str.bold());
    
    var arr = ["abc","nba","zz","haha"];
    
    document.write(arr.join(", ")+"<br/>");
    arr.sort();
    document.write(arr.join(", "));
</script>
<script type="text/javascript" src="arraytool.js"></script>
    <script type="text/javascript" src="stringtool.js"></script>
    <script type="text/javascript">
    
        //原型的使用。
        
        var arr = [43,120,30,78,35,22];
        
        
        
        /*
        function getMax(arr){
            var max = 0;
            for(var x=1; x<arr.length; x++){
                if(arr[x]>arr[max]){
                    max = x;
                }
            }
            return arr[max];
        }
    
        var max = getMax(arr);
        
        */
        
        //既然是用于操作数组对象的方法,可不可以直接将这个方法定义到数组对象中。
        //这样所有的数组对象都可以使用这个方法。
        //通过原型属性的方式。Array.prototype相当于获取到了数组的父类的对象的引用。
    
        
        
        var max = arr.getMax();
        
        println("max="+max);
        
        function println(str){
            
            document.write(str+"<br/>");
        }
        
        
        
        var str = "      ab    c     ";
        //println("-"+str+"-")
        alert("-"+str.trim()+"-");
    
    </script>
Array.prototype.getMax = function() {// 给数组对象添加了一个方法,叫做getMax。
    var max = 0;
    for ( var x = 1; x < this.length; x++) {
        if (this[x] > this[max]) {
            max = x;
        }
    }
    return this[max];
};
//给string添加一个去除两端空白的方法。trim();

String.prototype.trim = function() {

    // 1,定义头角标,和尾角标。
    var start = 0, end = this.length - 1;
    // 去除前端空白。
    while (start <= end && this.charAt(start) == " ") {
        start++;
    }

    // 去除尾部空白。
    while (start <= end && this.charAt(end) == " ") {
        end--;
    }

    return this.substring(start, end + 1);
};

 

<script type="text/javascript">
        //按照面向对象的思想编写javascript。
        //1,对对象描述。java中使用class。js中可以使用function来完成。
        /*
        //描述Person.
        function Person(){//相当于构造函数。
            alert("person run");
        }
        
        //通过new关键字创建对象。
        var p = new Person();
        
        p.name = "lisi";//给p对象添加了一个name属性。值为lisi。
        p.age = 20;
        p.show = function(){
            alert(this.name+"::"+this.age);
        }
        
        p.show();
        */
        //name,age,show,这些成员,只有p对象有。要想让其他person对象都具备,可以将这些属性定义到描述中。
        
        
        function Person(name,age){
            this.name = name;
            this.age = age;
            
            
            this.setName = function(name){
                this.name = name;
            };
            
            this.getName = function(){
                return this.name;
            };
        }
        
        
        //给Person对象添加新功能。使用原型。
        Person.prototype.toString = function(){
            
            return "Person[name="+this.name+",age="+this.age+"]";
        };
        
        var p1 = new Person("lisisi",29);
        p1.setName("wangcai");
        //alert(p1.getName());
        
        //alert(p1.toString());
        var p2 = new Person("xiaoqiang",23);
        //alert(p2);
        
        
        /*
        with(对象){简化调用书写。
            
            直接使用对象中的方法。
        }
        对象名.成员;
        对象名.成员;
        对象名.成员;
        with(对象名){
            成员。
        }
        
        
        
        //p1.setName("a");
        //p1.getName();
        with(p1){
            setName("b");
            getName();
        }
        */
        
        
        /*
        for(变量  in 对象){
            
        }
        用于遍历对象和数组。
        */
        for(x in p1){//遍历p1的所有成员。
            
            alert(x+":"+p1[x]);
        
        }
        
        //对象调用成员有两种方式。一,p1.name  二,p1["name"]   
        
        
    </script>

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。