zoukankan      html  css  js  c++  java
  • JavaScripts学习日记——ECMAscript

    1.Function对象

    Function是一个很特殊的对象,特殊在该对象就像java中的方法一样,可以运行,可以传参数。

    三种定义function对象的方法:

      1.function fun1(a,b){
               alert(a+b);        
         }

      2.var fun2 = new Function("a","b","alert(a+b);");//最后一个参数代表函数体

      3.var fun3 = function(a,b){
              alert(a+b);
          }  

    函数调用时要注意的事项:

      1.js中函数的调用,跟java相比,只需要填对函数名称即可,不管参数怎么填都可以调用。(如参数个数不匹配)

      2.js中并没有重载,不过可以通过内置对象arguments(代表参数运行时的实际参数列表)来模拟重载的功能。

        2.1 使用它的.length属性获得实际参数的个数。

        2.2 使用arguments[n]来获得具体的某个参数。

      3.函数的返回。

        3.1 js中函数的返回也使用 return关键字

        3.2 跟java一样,return 还可以用作结束函数的运行.

      4.void()运算符的作用是拦截函数的返回值,使其返回undefined。

    2.三大包装类的学习

    三大包装对象  String Number(了解) Boolean(了解)

    特性:js中 string number boolean 是伪类. 可以直接使用三个包装对象中的方法和属性.

    String的使用

        var str = new String("hello");
         //方法分为三类
        //1.没有用的(开发中用的很少), 帮我们生成html代码的方法.
            alert(str.anchor("abc"));
            alert(str.big());
            alert(str.sup());
        //2.重要的
            alert(str.charAt(1));//e  返回指定位置上的字符
            alert(str.charCodeAt(1));// 返回对应字符的asc码值
            alert(str.concat(" world"));// 连接字符串hello world
            alert(str.indexOf("l"));//2  检索字符串
            alert(str.lastIndexOf("l"));//3  从后向前搜索字符串。
            alert(str.substring(0, 2));// he  不包含最后一个参数角标所在字符
            alert(str.slice(-3, -1));// hel   支持负数,从右向左数.
        //3.结合正则对象使用       
                mactch
                search
                split
                replace    
    </script>

    3.typeof和instanceof

      typeof用于判断属于哪个原始类型(五种原始类型:number,String,undefined,Boolean,null)

      instanceof用于判断对象具体属于哪个类型。

    4.Global对象(内置对象)

    使用原因:get方式提交时,如果有中文的话,会转成其他码比如:   ?name=%E7%A2  ==> 是因为 HTTP协议 在传输中文时会出现问题.所以表单传输中文浏览器会自动转码,所以使用此对象的方法进行转码。

            encodeURI(URI) 对中文进行编码
            decodeURI(encodedURI) 对中文进行解码
            encodeURIComponent(uriComponent) 除了对中文编码 还对一些符号进行编码  . 当我们要传递的参数 使用了一些特殊符号时,使用该方法编码.
            decodeURIComponent(uriComponent)
            escape(s)  已经淘汰的方法.
            unescape(s)

      两种方法应用场景不同,如下所示:

    //---------encodeURI decodeURI------------------------
             var str = "http://www.baidu.com?name=传智";
            var str2 = encodeURI(str);
            alert(str2);
            alert(decodeURI(str2)); 
        //-------------encodeURIComponentdecodeURIComponent--------------------
            var str_3 = "http://www.baidu.com?name=张:三/"
            var str_4 = encodeURIComponent(str_3);
            alert(str_4);
            alert(decodeURIComponent(str_4));

    5.Math对象

    Math是内置对象 , 与Global的不同之处是, 在调用时 需要打出 "Math."前缀.

    方法略

    6.Array对象

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    <script type="text/javascript">
        //Array对象
        //创建方式1
        var arr1 = [1,2,3]; //3
        //创建方式2  构造函数中所有参数都作为 数组的元素.
        var arr2 = new Array(1,2,3); 
        //alert(arr2.length);
        //创建方式3  如果Array构造函数中,只填一个参数并且为数字.那么这个参数是规定数组的长度,而不是数组的元素.
        var arr3 = new Array(3); // 创建一个长度为3 的空数组.
        
        //Array当中的属性 
            //length属性 ==> 数组的长度.  
            //alert(arr3.length);
        // Array的遍历
            /* for(var i = 0 ; i< arr2.length ; i++){
                alert(arr2[i]);
            } */
        //Array中的方法.
            //concat 两个数组相加.
            //join方法 返回一个字符串, 字符串内容是使用数组中各个元素相(按照给定参数)连接.
            //alert(arr1.join("-")); 
            //---------------pop方法 push方法------------------
            //使用这两个方法 模拟了一个栈的数据结构.(先进后出)
            /* alert(arr1.pop());//3
            alert(arr1.length);//2 */
            // alert(arr1.push(4));//4
            //------------------------reverse 将数组反转 ----------
            /* arr1.reverse();
             alert(arr1.join()); */
             //---------------------sort 排序 ---------------------------
             //注意!!: sort方法排序,默认是按照字符串比较规则来排序的.
            /*  var arr4 = [8,2,3,9,1,100];
             arr4.sort(_abc);
             alert(arr4.join()); */
             //比较器1
             function abc(a,b){
                 if(a > b){
                     return 1;
                 }else if(a == b){
                     return 0;
                 }else{
                     return -1;
                 }
             }
            //比较器2
             function _abc(a,b){
                return a-b;
             }
             //  js中数组的特性
             //java中数组的特性,  规定是什么类型的数组,就只能装什么类型.只有一种类型.
             //js中的数组特性1: js中的数组可以装任意类型,没有任何限制.
             //js中的数组特性2: js中的数组,长度是随着下标变化的.用到多长就有多长.
             var arr5 = ['abc',123,1.14,true,null,undefined,new String('1213'),new Function('a','b','alert(a+b)')];
            /*  alert(arr5.length);//8
             arr5[10] = "hahaha";
             alert(arr5.length); //11
             alert(arr5[9]);// undefined */
             
             //-----------------------面向对象的范畴,该现象不要研究.-----------------------------------
              arr5['abc'] = 100;
             alert(arr5.length);//8
             alert(arr5['abc']);
             
            </script>
    </head>
    <body>
    
    </body>
    </html>

    7.Date对象

        1.new Date() 获取当前时间
        2.getFullYear() 获取年份
        3.getMonth() 获取月份注意 1月份结果为0
        4.getHours() 小时
        5.getDate() 日期
        6.getMinutes() 分钟
        7.getSeconds() 获取秒
        8.getTime()  获取毫秒值.
        9. toLocaleString () 获取本地的时间格式字符串.

        //例一: 打印出当前日期 格式如下.
        // 2014年06月18日 15:40:30 星期三
        function getCurrentDate(){
            //1. 创建Date对象
            var date = new Date(); //没有填入任何参数那么就是当前时间
            //2. 获得当前年份
            var year = date.getFullYear();
            //3. 获得当前月份 js中月份是从0到11. 
            var month = date.getMonth()+1; 
            //4. 获得当前日
            var day = date.getDate();
            //5. 获得当前小时
            var hour = date.getHours();
            //6. 获得当前分钟
            var min = date.getMinutes();
            //7. 获得当前秒
            var sec = date.getSeconds();
            //8. 获得当前星期
            var week = date.getDay(); //没有getWeek
            // 2014年06月18日 15:40:30 星期三
            return year+"年"+changeNum(month)+"月"+day+"日 "+hour+":"+min+":"+sec+" "+parseWeek(week);
        }
        //alert(getCurrentDate());
        
        //解决 自动补齐成两位数字的方法
            function changeNum(num){
            if(num < 10){
                return "0"+num;
            }else{
                return num;
            }
            
        }
        //将数字 0~6 转换成 星期日到星期六
            function parseWeek(week){
            var arr = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
            //             0      1      2      3 .............
            return arr[week];
        }
        
        
        //例二: 获得 当前格林时间毫秒数, 并转换成 当前日期
        var date = new Date();
        var time = date.getTime()-10000000000;
        //Date的构造方法,可以填入格林毫秒数
        var date2 = new Date(time);
        //
        alert(date2.toLocaleString());

    8.RegExp对象(正则)

    在表单验证时使用该对象验证用户填入的字符串是否符合规则.
    创建正则对象方式1  参数1 正则表达式  参数2 验证模式  g global / i 忽略大小写/m多行匹配. 参数2一般填写g就可以.
    用户名 首字母必须是英文, 除了第一位其他只能是英文数字和_ . 长度最短不能少于6位 最长不能超过12位

    <script type="text/javascript">
        //RegExp对象
        // 在表单验证时使用该对象验证用户填入的字符串是否符合规则.
        //创建正则对象方式1  参数1 正则表达式  参数2 验证模式  g global / i 忽略大小写. 参数2一般填写g就可以.
        // 用户名 首字母必须是英文, 除了第一位其他只能是英文数字和_ . 长度最短不能少于6位 最长不能超过12位
        //----------------------------创建方式1
        /* var reg1 = new RegExp("^[a-zA-Z][a-zA-Z0-9_]{5,11}$","g");
        //
        //验证字符串
        var str = "bc123";
        alert(reg1.test(str));// true
        
        //----------------------------创建方式2  /填写正则表达式/匹配模式;
        var reg2 = /^[a-zA-Z][a-zA-Z0-9_]{5,11}$/g;
        
        alert(reg2.test(str));// true
         */
        //-------------------------------正则对象的方法-------------------
            //test方法  ==>  测试一个字符串是否复合 正则规则. 返回值是true 和false.
        
        //-------------------------String 中与正则结合的4个方法------------------.
        // macth search split replace
        var str = "hello world";
        
        //alert(str.match(/o/g)); //查找字符串中 复合正则的 内容.
        //alert(str.search(/h/g));// 0  查找字符串中符合正则表达式的内容位置
        //alert(str.split(/o/g)); // 按照正则表达式对字符串进行切割. 返回数组;
        alert(str.replace(/o/g, "s")); // hells wsrld  对字符串按照正则进行替换.
            </script>
  • 相关阅读:
    HDFS文件操作命令手册
    Hadoop——HDFS的构架
    Hadoop运行Jar文件时Output错误
    hadoop中DataNode消失挂掉的原因及解决方法
    MapReduce程序(一)——wordCount
    安装单机Hadoop系统(完整版)——Mac
    决策粗糙集与博弈粗糙集之比较
    关于决策粗糙集(三支决策)、概率粗糙集、博弈粗糙集的一点认识
    LeetCode-Repeated DNA
    生产环境安装centos时的磁盘规划
  • 原文地址:https://www.cnblogs.com/insistence/p/5940267.html
Copyright © 2011-2022 走看看