JavaScript/内建对象

维基教科书,自由的教学读本

内建对象:在js中已经定义好的对象,直接可以使用。

Number[编辑]

创建方式:

        var myNum=new Number(value); //返回一个新创建的 Number 对象
        var myNum1=Number(value); //把参数转换成一个原始的数值,并且返回这个值(如果转换失败,则返回 NaN)

参数 value 是要创建的 Number 对象的数值,或是要转换成数字的值。

var num = new Number(5);
alert(typeof(num));     //object
alert(typeof(num.toString()));  //string

属性和方法:

  • toString():转成字符串
  • valueOf():返回一个 Number 对象的基本数字值(number)

Boolean[编辑]

创建方式:

        var bool = new Boolean(value);  
        var bool = Boolean(value);

属性和方法:

  • toString():转成字符串
  • valueOf():返回一个 Boolean 对象的基本值(boolean)

String[编辑]

创建方式:

        var str = new String(s);
        var str = String(s);

属性和方法:

  • length:字符串的长度
  • charAt():返回索引字符
  • charCodeAt():返回索引字符unicode
  • indexOf():返回字符的索引
  • lastIndexOf():逆向返回字符的索引
  • split():将字符串按照特殊字符切割成数组
  • substr():从起始索引号提取字符串中指定数目的字符
  • substring():提取字符串中两个指定的索引号之间的字符
  • toUpperCase():转大写

示例:

            var str = new String("a-b-cdc-FG");
            //alert(str.length);    //10
            //alert(str.charAt(4)); //c
            //alert(str.charCodeAt(4)); //99
            //alert(str.indexOf("c"));  //4
            //alert(str.lastIndexOf("c"));  //6
            /* var arr = str.split("-");
            for(var i=0; i< arr.length; i++){
                alert(arr[i]);  //a,b,cdc,FG
            }  */
            //alert(str.substr(2,3));   //b-c
            //alert(str.substring(2,3));    //b
            alert(str.toUpperCase());   //A-B-CDC-FG

Array[编辑]

创建方式:

        var arr = new Array();//空数组
        var arr = new Array(size);//创建一个指定长度的数据
        var arr = new Array(element0, element1, ..., elementn);//创建数组直接实例化元素
        var arr = [];//空数组
        var arr = [1,2,5,"java"];//创建数组直接实例化元素

属性和方法:

  • length:数组长度
  • join():把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔一个
  • pop():删除并返回最后元素
  • push():向数组的末尾添加一个或更多元素,并返回新的长度
  • reverse():反转数组
  • sort(): 排序

示例:

        var arr = [3,7,1,"java","js",true,4];
        //alert(arr.length);    //7
        //alert(arr.join("-")); //3-7-1-java-js-true-4
        /* alert(arr.pop());    //4
        alert(arr);         //3,7,1,java,js,true */
        /* alert(arr.push("R"));    //8
        alert(arr);     //3,7,1,java,js,true,4,R */
        //alert(arr.reverse()); //4,true,js,java,1,7,3
        alert(arr.sort());  //1,3,4,7,java,js,true

Date[编辑]

创建方式:

        var myDate = new Date();
        var myDate = new Date(毫秒值);//代表从1970-1-1到现在的一个毫秒值

属性和方法:

  • getFullYear():年
  • getMonth():月 0-11
  • getDate():日 1-31
  • getDay():星期 0(周日)-6
  • getTime():返回1970年1月1日午夜到指定日期(字符串)的毫秒数
  • toLocalString():获得本地时间格式的字符串

示例:

            var date = new Date();
            //alert(date.toString());   //Sun Aug 13 2017 17:19:55 GMT+0800 (中国标准时间)
            //alert(date.toLocaleDateString()); //2017/8/13
            /* alert("year: " + date.getFullYear());    //year: 2017
            alert("month: " + date.getMonth());     //month: 7
            alert("date: " + date.getDate());       //date: 13
            alert("day: " + date.getDay());         //day: 0 */
            var time1 = date.getTime();
            var time2 = 1*24*60*60*1000;
            alert(new Date(time1 + time2).toLocaleString());//2017/8/14 下午5:26:42

Math[编辑]

创建方式:Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math(),像 Math.sin() 这样的函数只是函数,不是某个对象的方法。您无需创建它,通过把 Math 作为对象使用就可以调用其所有属性和方法。

属性和方法:

  • PI:圆周率
  • abs():绝对值
  • ceil():对数进行上舍入
  • floor():对数进行下舍入
  • pow(x,y):返回 x 的 y 次幂
  • random():0-1之间的随机数
  • round():四舍五入

示例:

            /* var x = "-987";
            alert(Math.abs(x));     //987 */

            var x = 12.34;
            var y = 2;
            var z = 4;
            //alert(Math.ceil(x));  //13
            //alert(Math.floor(x)); //12
            //alert(Math.round(x));     //12
            //alert(Math.pow(y,z));     //2^4 = 16
            alert(Math.random());       //0.14079708642361743

RegExp[编辑]

创建方式:

        var reg = new RegExp(pattern);
        var reg = /^正则规则$/;

规则的写法:

  • [0-9](数字)
  • [A-Z](大写字母)
  • [a-z](小写字母)
  • [A-z](大小写字母都行)
  • \d 代表数字
  • \D 非数字
  • \w 查找单词字符
  • \W 查找非单词字符
  • \s 查找空白字符
  • \S 查找非空白字符
  • n+ 出现至少一次
  • n* 出现0次或多次
  • n? 出现0次或1次
  • {5} 出现5
  • {2,8} 2到8次

方法:test(str):检索字符串中指定的值。返回 true 或 false

需求:

    //校验邮箱:
    var email = gaoyafei.good@qq.com
    var reg = /^[A-z]+[A-z0-9_-]*\@[A-z0-9]+\.[A-z]+$/;
    reg.test(email);