zoukankan      html  css  js  c++  java
  • 【JavaScript 对象03】

    一、全局变量&局部变量

    1、定义在脚本片段内的变量叫全局变量

    2、封装在函数内的变量叫局部变量

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>全局变量/局部变量</title>
    </head>
    <body>
        <script type="text/javascript">
    
            var x=2;
            for(var x=1;x<5;x++){
                alert(x)
            }
            //以上情况的变量都是在脚本片段中,是全局变量
            
            function demo(x) {
                x=8;
            }
            //封装在函数(方法)内的变量是局部变量
        </script>
    </body>
    </html>

    二、对象

    1、Object对象

    toString():将对象变成字符串

    2、String对象

    表现形式:
     Var str = new String(“abc”);
    Var str = “abc”;

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <script type="text/javascript" src="demo.js"></script>
        <script type="text/javascript">
            var str="wetyuii";
            println("字符串长度:"+str.length);
            println(str.bold());//字体颜色加粗
            alert(str.bold());//把html的<B>标记放在String对象的文本两端
            println(str.fontcolor("red"))//字体颜色
            println(str.link("www.baidu.com"))//变成超链接
            println(str.substr(1,3));//ety
            println(str.substring(1,3));//et
            
        </script>
    
    </body>
    </html>

    执行结果:

    3、String自定义功能

    js中的方法有限,想要对字符串进行其他操作,需要进行自定义功能

    例如:去除字符串首尾的空格

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>自定义String</title>
    </head>
    <body>
        
        <script type="text/javascript">
            
            /*去除字符串首尾空格思路:
            * 1、定义开始和结尾标记的变量,用于排查首尾空格
            * 2、用开始变量排查,如果是空格,进行递增
            * 3、用结尾变量排查,如果是空格,进行递减
            * 
            * */
            
    
            function trim(str) {
    
                var start,end;
                start=0;
                end=str.length-1;
    
                //charAt()返回指定位置的字符
                while (start<=end && str.charAt(start)==" "){
                    start++;
                }
    
                while (start<=end && str.charAt(end)==" "){
                    end--;
                }
    
                //substring()用于提前指定字符串介于两个指定下标之间的字符
                return str.substring(start,end+1);
            }
    
            var s = "    ab c   ";
            alert("-"+trim(s)+"-")
            
            
        </script>
    </body>
    </html>

    4、String原型属性prototype:返回对象原型的引用(允许向对象添加属性和方法)

    -------->demo.js文件<------
    string.prototype.trim=function (str) {
        var start=0,end=str.length-1;
    
        while (start<end && this.charAt(start)==" "){
            start++;
        }
    
        while (start<end && this.charAt(end)==" "){
            end--;
        }
    
        return str.substring(start,end+1);
    }
    
    -------->html文件<-------
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>prototype</title>
    </head>
    <body>
        <script type="text/javascript" src="demo.js"></script>
        <script type="text/javascript">
    
            var str = "    ab  c   ";
    
            alert("-"+str.trim()+"-")
    
    
        </script>
    </body>
    </html>

     5、原型练习

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>prototypeTest</title>
    </head>
    <body>
    
        <script type="text/javascript" src="demo.js"></script>
        <script type="text/javascript" src="stringTools.js"></script>
    
        <script type="text/javascript">
    
            /*
            * 练习1、给字符串添加一个功能,将字符串变成字符数组
            *
            * 练习2、给字符串添加一个功能,将字符串反转
            * */
    
            var str = "abcdef";
            println(str.toCharArray());
    
            println(str.reverses());
    
        </script>
    </body>
    </html>
    
    
    -------->stringTools.js<-------
    /*
    * 去除首尾空格
    * */
    String.prototype.trim=function (str) {
        var start=0,end=str.length-1;
    
        while (start<end && this.charAt(start)==" "){
            start++;
        }
    
        while (start<end && this.charAt(end)==" "){
            end--;
        }
    
        return str.substring(start,end+1);
    }
    
    /*
    * 原先属性添加功能,实现字符串转换成字符数组
    * */
    
    String.prototype.toCharArray = function () {
    
        var cha = [];
    
        for(var i=0;i<this.length;i++){
            //charAt返回指定位置的字符
            cha[i]=this.charAt(i);
        }
    
        return cha;
    
    }
    
    /*
    * 将字符串进行反转
    * */
    
    String.prototype.reverses = function() {
        //调用toCharArray方法把字符转换成字符数组
        var arr = this.toCharArray();
    
    
        //将数组位置置换功能进行封装,并定义到了反转功能内部
        //函数里面定义函数在js里面是可以的,但是在Java中是不允许的
        function swapp(arr,x,y) {
            var temp = arr[x];
            arr[x]= arr[y];
            arr[y]= temp;
        }
    
        //遍历字符数组,进行反转
        for (var start=0,end=this.length-1;start<end;start++,end--){
            swapp(arr,start,end);
        }
    
        //把字符数组转成字符
        //join() 方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。
        return arr.join("");
    }
  • 相关阅读:
    洛谷 P1226 【模板】快速幂||取余运算 题解
    洛谷 P2678 跳石头 题解
    洛谷 P2615 神奇的幻方 题解
    洛谷 P1083 借教室 题解
    洛谷 P1076 寻宝 题解
    洛谷 UVA10298 Power Strings 题解
    洛谷 P3375 【模板】KMP字符串匹配 题解
    Kafka Shell基本命令
    Mybatis与Hibernate的详细对比
    MyBatis简介
  • 原文地址:https://www.cnblogs.com/frankruby/p/13822071.html
Copyright © 2011-2022 走看看