【JavaScript 基础】07 内置对象

Number

Number 对象是原始数值的包装对象。

1 创建

  • 可以通过构造函数创建,也可以直接赋值
  • 可以是整数,也可以是浮点数
var num1 = new Number(2);
var num2 = 2.567;

2 常用方法

  • toString( )
    把数字转换为字符串
var num1 = new Number(2);
var str1 = num1.toString();  //2
  • toFixed( )
    把数字转换为字符串,结果的小数点后有指定位数的数字。
var num2 = 2.567;
var str2 = num2.toFixed(1); //2.6

3 常用属性

  • MAX_VALUE
    表示最大的数
  • MIN_VALUE
    表示最小的数
Number.MAX_VALUE
Number.MIN_VALUE

Math

Math 对象用于执行数学任务。Math 对象没有构造函数,通过 Math 调用其所有属性和方法。

1 常用属性

  • E
    算术常量 e
  • PI
    圆周率

2 常用方法

  • abs(x)
    返回数的绝对值。
  • round(x)
    把数四舍五入为最接近的整数。
  • ceil(x)
    对数进行上舍入。
  • floor(x)
    对数进行下舍入。
  • max(x,y)
    返回 x 和 y 中的最高值。
  • min(x,y)
    返回 x 和 y 中的最低值。
  • pow(x,y)
    返回 x 的 y 次幂。
  • random()
    返回 0 ~ 1 之间的随机数。
//取0-1之间的随机浮点数
var r1 = Math.random();

//取0-n之间的随机整数
function getRandom(n){              
    return Math.floor(Math.random() * (n + 1));             
}

//取m-n之间的随机整数
function getRandom(m, n){   
    //求m和n的最大值,最小值
    var max = Math.max(m, n);
    var min = Math.min(m, n);
    return Math.floor(Math.random() * (max - min + 1)) + min;               
}

String

String 对象用于处理字符串。字符串有长度,每个字符有索引,索引从0开始。

1 创建 String 对象
可以通过构造函数创建,也可以直接赋值

var str1 = "abc";
var str2 = new String("abc");

2 常用属性

  • length
    字符串的长度
var str1 = "abc";
var length = str1.length; //2

3 常用方法

  • charAt()
    返回指定位置的字符。JavaScript没有专属字符的类型,实际上返回的是长度为 1 的字符串。
  • charCodeAt()
    返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。
  • fromCharCode()
    从字符编码创建一个字符串。
var str = "abc";
var str1 = str.charAt(2); //"c"
var code = str.charCodeAt(2); //99
var str2 = String.fromCharCode(99); //"c"
  • indexOf()
    返回某个指定的字符串值在字符串中首次出现的位置。
  • lastIndexOf()
    返回一个指定的字符串值最后出现的位置,从后往前查找
var str = "abcabc";
var indexed1 = str.indexOf("bc"); //1
var indexed2 = str.indexOf("bc", 2); //4
var indexed3 = str.indexOf("ac"); //-1

var indexed1 = str.lastIndexOf("bc"); //4
var indexed2 = str.lastIndexOf("bc", 2); //1
var indexed3 = str.lastIndexOf("ac"); //-1
  • match()
    在字符串内检索指定的值或正则表达式,如果匹配上返回指定的值,否则返回null。
var str = "abcabc";
var str1 = str.match("abc"); //"abc"
var str2 = str.match("abcd"); //null
var str3 = str.match(/\w{2}/); //"ab"
  • toLocaleLowerCase()
    把字符串转换为小写。
  • toUpperCase()
    把字符串转换为大写。
var str = "abcABC";
var str1 = str.toLocaleLowerCase(); //"abcabc"
var str2 = str.toLocaleUpperCase(); //"ABCABC"
  • replace()
    在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
var str = "abcabc";
var str1 = str.replace("bc", "dd"); //"addabc"
var str2 = str.replace(/\w{2}/, "dd"); //"ddcabc"
  • slice()
    提取字符串中两个指定的索引号之间子串,返回新的字符串。索引可以为负数,表示尾部。如-1表示最后一位。
  • substring()
    提取字符串中两个指定的索引号之间子串,返回新的字符串。索引不能为负数。
  • substr()
    从起始索引号提取字符串中指定长度的子串,返回新的字符串。
var str = "abcdefg";
var str1 = str.slice(3); //"defg", 从3开始到尾部
var str2 = str.slice(3, 5); //"de"  从3开始到5,包含3不包含5
var str3 = str.slice(-5, 5); //"cde" -5表示从后往前数,最后1个是-1
var str4 = str.substring(3); //"defg", 从3开始到尾部
var str5 = str.substring(3, 5); //"de"  从3开始到5,包含3不包含5          
var str6 = str.substr(3); //"defg", 从3开始到尾部
var str7 = str.substr(3, 2); //"de"  从3开始截取2个
  • split()
    把一个字符串分割成字符串数组。
var str = "aaa|bbb|ccc";
var arr = str.split("|"); //["aaa", "bbb", "ccc"]

Date

Date 对象用于处理日期和时间。

1 创建 Date 对象

//创建当前日期对象
var date1 = new Date();             
document.write(date1 + "<br />"); //Wed Aug 30 2017 16:10:25 GMT+0800   
        
//使用指定日期创建对象
var date2 = new Date(2017,2,1,20,10,0); //月份从0开始计数,2017年3月1日 20:10:00           
document.write(date2 + "<br />"); //Wed Mar 01 2017 20:10:00 GMT+0800           
var date3 = new Date("2/1/2017 20:10:00"); //2017年2月1日 20:10:00 
document.write(date3 + "<br />"); //Wed Feb 01 2017 20:10:00 GMT+0800

2 常用方法

2.1 获得日期

  • getFullYear()
    返回 Date 对象的四位数年份。
  • getMonth()
    返回 Date 对象的月份 (0 ~ 11)。
  • getDate()
    返回 Date 对象的一个月中的某一天 (1 ~ 31)
  • getDay()
    返回 Date 对象的一周中的某一天 (0 ~ 6)。
  • getHours()
    返回 Date 对象的小时 (0 ~ 23)。
  • getMinutes()
    返回 Date 对象的分钟 (0 ~ 59)。
  • getSeconds()
    返回 Date 对象的秒数 (0 ~ 59)。
  • getMilliseconds()
    返回 Date 对象的毫秒(0 ~ 999)。
  • getTime()
    返回 1970 年 1 月 1 日至今的毫秒数。

2.2 设置日期

  • setFullYear()
    设置 Date 对象中的年份(四位数字)。
  • setMonth()
    设置 Date 对象中月份 (0 ~ 11)。
  • setDate()
    设置 Date 对象中月的某一天 (1 ~ 31)。
  • setHours()
    设置 Date 对象中的小时 (0 ~ 23)。
  • setMinutes()
    设置 Date 对象中的分钟 (0 ~ 59)。
  • setSeconds()
    设置 Date 对象中的秒钟 (0 ~ 59)。
  • setMilliseconds()
    设置 Date 对象中的毫秒 (0 ~ 999)。
  • setTime()
    以毫秒设置 Date 对象。

Array

Array 对象用于在单个的变量中存储多个值。

1 创建 Array 对象

//直接赋值创建
//方式1
var arr1 = ["aaa", "bbb", "ccc"];
//方式2
var arr2 = [3]; //可以指明长度
var arr2 = []; //也可以不指明长度
arr2[0] = "aaa";
arr2[1] = "bbb";
arr2[2] = "ccc";

//使用构造函数创建
//方式1
var arr3 = new Array("a","b","c");
//方式2
var arr4 = new Array(3);
var arr4 = new Array();
arr4[0] = "a";
arr4[1] = "b";
arr4[2] = "c";

2 相关概念

  • 数组元素:数组中的每个数据称为数组元素。数组元素的类型可以是任意类型,而且同一个数组中可以存放不同类型的元素。
  • 数组长度:数组中元素的个数。
  • 索引:数组中每个元素在数组中的位置称为索引,索引从0开始。

3 常用属性

  • length
    返回数组中元素的数目。
var arr = ["aaa", "bbb", "ccc"];
var len = arr.length; //3

4 数组的遍历

  • 普通for循环
var arr = ["a","b","c","d"];
for (var i = 0; i < arr.length; i++) {
    document.write(arr[i] + "<br />");
}
  • for...in循环
var arr = ["a","b","c","d"];
for (i in arr) {
    document.write(arr[i] + "<br />");
}

5 常用方法

  • concat()
    连接两个或更多的数组,并返回结果。
var arr1 = new Array("a","b");
var arr2 = new Array("c","d");
var arr3 = arr1.concat(arr2);           
document.write(arr3 + "<br />");            
var arr1 = new Array("a","b");
var arr2 = new Array("c","d");
var arr3 = new Array("e","f");
var arr4 = arr1.concat(arr2, arr3);         
document.write(arr4 + "<br />");
  • join()
    把数组的所有元素放入一个字符串。元素可以通过指定的分隔符进行分隔。
var arr = new Array("a","b","c");
var str1 = arr.join(); //"a, b, c"
var str2 = arr.join("$"); //"a$b$c"
  • sort()
    对数组的元素进行排序,数组在原数组上进行排序,不生成副本。
//字符串数组排序
var arr = new Array("aa","bb","cc","ab");
arr.sort();
document.write(arr + "<br />");
//数字数组排序
//定义排序规则,大的返回正数,小的返回负数,相等返回0
function sortBy(m, n){ 
    return m - n;
}
var arr = new Array(1, 5, 3, 2);
arr.sort(sortBy); //根据指定规则排序
document.write(arr + "<br />");
  • reverse()
    颠倒数组中元素的顺序。
var arr = new Array("aa","bb","cc","ab");
arr.reverse();//["ab","cc","bb","aa"]
  • push()
    向数组的末尾添加一个或更多元素,并返回新的长度。
  • pop()
    删除并返回数组的最后一个元素
  • unshift()
    向数组的开头添加一个或更多元素,并返回新的长度。
  • shift()
    删除并返回数组的第一个元素
  • splice()
    删除元素,并向数组添加新元素。
//向数组的末尾添加一个或更多元素,并返回新的长度
var arr = new Array("aa","bb");
var len = arr.push("cc");
var len = arr.push("cc","dd");
document.write(arr + "<br />"); 
document.write(len + "<br />"); 

//删除并返回数组的最后一个元素
var arr = new Array("aa","bb");
var ele = arr.pop();
document.write(arr + "<br />"); 
document.write(ele + "<br />"); 

//向数组的开头添加一个或更多元素,并返回新的长度。
var arr = new Array("aa","bb");
var len = arr.unshift("cc");
document.write(arr + "<br />"); 
document.write(len + "<br />"); 

//删除并返回数组的第一个元素
var arr = new Array("aa","bb");
var ele = arr.shift();
document.write(arr + "<br />"); 
document.write(ele + "<br />"); 

//删除元素,并向数组添加新元素。
var arr = new Array("aa","bb");
arr.splice(1, "cc", "dd");
document.write(arr + "<br />"); 

微信公共号

推荐阅读更多精彩内容