javaseday35(方法的调用要用括号 字符的练习 数组的练习)

来源:互联网 发布:创世数据查询 编辑:程序博客网 时间:2024/05/14 07:47

这里写图片描述

<script type="text/javascript" src="doctool.js"></script><script type="text/javascript">    /*for(var x= 0;x<=3;x++)//在脚本片段中定义的变量是全局变量    {        document.write("x="+x);     }*/    function show()    {        var x= 7;//局部变量     }    function show (x)//函数局部的变量x 不会影响全局    {        x= 8;    }    //show(x);    //document.write("x===="+x);//4    /*        演示object对象        toString() 将对象变成字符串        valueOf()    */    //alert(show.toString());//    var arr=[3,4,5,6];    //alert(arr.toString());    var abc = function(){        alert("abc");    }    //alert(abc);    //alert(arr.valueOf());    /*        演示string对象        表现形式        var str = new String("abc");        var str = "abc";    */    var str = "    abcedd    ";    println(str.fontcolor("red"));//变色    println(str.bold());//加粗    println(str.link("http://www.baidu.com"));//超链接    println(str.substring(1,3));//bc    println(str.substr(1,3));//bce    /*        发现js中的 string对象方法有限 想要对字符串操作的其他功能 比如去除字符串两端的空格  这时只能自定义    */    //去除字符串两端的空格    function trim(str)    {        //定义两个变量 一个记录开始的位置 一个记录结束的位置        //对开始的位置的字符进行判断 如果是空格 就进行递增 直到不是空格为止        //对结束的位置的字符进行判断 如果是空格 就进行递减 直到不是空格为止        //必须要保证开始<=结束 这就才可以进行截取        var start,end;        start=0;        end=str.length-1;        while (start<=end &&str.charAt(start)==" ")        {            start++;            }        while (start<=end &&str.charAt(end)==" ")        {            end--;          }        return str.substring(start,end+1);      }    //alert("--"+str+"--");    //alert("--"+trim(str)+"--");    //(str+"--");    /*        既然trim方法是用来操作字符串的方法 可不可以像字符串已有的方法一样        将该方法也定义到字符串对象中呢 ? 直接用字符串对象调用就可以了        这里就可以使用一个该字符串的原型属性来完成        原型 就是该对象的一个描述 该描述中 如果添加了新功能        那么该对象都会具备这些新功能        而prototype就可以获取到这个原型对象        通过prototype就可以对对象的功能进行扩展        想要给string对象添加一个可以去除字符串两端空格的新功能        就可以使用原型属性来完成    */    //给string 的原型添加一个功能 注意 给对象添加功能 直接使用 对象.新内容即可    String.prototype.trim = trim;    /*String.prototype.len=199;//给string的原型对象中添加一个属性名为len 值为199    println("haha".len);    alert(str.trim(str));    var ss = "lll";    ss.haha=8090;    println(ss.haha);*/    //添加行为    String.prototype.trim=function()    {        var start,end;        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);     }    alert("--"+"   a a  ".trim()+"--");    //alert(str);</script><script type="text/javascript">    document.write("xxx"+x);//上面的变量定义了这里也能用</script> </head><body></body>
/*    1、给字符串添加一个功能 将字符串变成一个字符数组    2、给字符串添加一个功能 将字符串进行反转*/var str = "abced";//alert(str.toCharArray());println(str.reverse());

stringtool.js

/*去取两端空格*/String.prototype.trim=function()    {        var start,end;        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);     }/*字符串新功能 添加一个将字符串转成字符数组返回一个数组*/  String.prototype.toCharArray=function(){    //定义一个数组    var cha = [];    //将字符串中的每一位字符存储到字符数组中    for(var x= 0;x<this.length;x++)    {        cha[x] = this.charAt(x);//方法的调用是括号      }    return cha; }String.prototype.reverse=function(){    var arr = this.toCharArray();    //将数组位置置换功能进行封装 并定义到了反转功能内部    function swap(arr,x,y)//内部类    {        var temp = arr[y];          arr[y]=arr[x];        arr[x]=temp;    }    for(var x= 0,y=arr.length-1;x<y;x++,y--)    {        swap(arr,x,y);  //注意点和逗号    }   //alert(arr);    return arr.join(",");}
//演示数组var arr = ["ddd","csa","asx","abb"];var arr2 = ["qq","fdfd"];println(arr);//在arr数组上连接一个元素"mm"再连接一个arr2数组println(arr.concat("mm",arr2));//将mm作为新数组中的元素 将arr2数组中的元素也作为新数组中的元素println(arr.join("-"));println(myJoin(arr,"+"));//模拟join的实现原理function myJoin(arr,separator){    var str = "";    for(var x= 0; x<arr.length;x++)    {        if(x!=arr.length-1)        {            str += arr[x] +separator;           }           else str+=arr[x];    }    return str;}//移除数组中的元素 并返回该元素 pop/*println(arr);println(arr.pop());//删除并返回最后一个俄元素println(arr);//var arr3 = [[],[]];//arr3.push(arra,arrb,arrc);//var arr4 = [arra,arrb,arrc];println(arr.reverse());println(arr.shift());//删除并返回第一个元素*/println(arr);//arr.sort();//arr.splice(1,2,8033,1234,22,"hrhr");//删除元素并进行元素的替换//println(arr.unshift(22));//返回长度并在开头加入元素println(arr);
<script type="text/javascript">    /*        数组练习        用数组实现js中的堆栈 或者队列数据结构    */    var arr =[];    //arr.unshift("abc1","abc2","abc3");//按照参数顺序插入 添加一次    arr.unshift("abc1");    arr.unshift("abc2");    arr.unshift("abc3");    //println(arr.pop());    //println(arr.pop());    //println(arr.pop());//队列结构    println(arr.shift());    println(arr.shift());    println(arr.shift());//栈结构    println(arr);</script>
原创粉丝点击