定义
指JS语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或者是最基本而必要的功能(属性和方法)。
数组
push(新元素)
返回当前数组的新长度 改变原来的数组 末尾添加新元素
var arr=[10,20,30,40]
console.log(arr.push(100,20),arr);//6 [10, 20, 30, 40, 100, 20]
unshift(新元素)
返回当前数组的新长度 改变原来的数组 前面添加新元素
var arr=[10,20,30,40]
console.log(arr.unshift(100,20),arr);//6 [100, 20, 10, 20, 30, 40]
pop
返回删除的元素 改变原来的数组 删除数组末尾
var arr=[10,20,30,40]
console.log(arr.pop(),arr);//40 [10, 20, 30]
shift
返回删除的元素 改变原来的数组 删除数组第一个元素
var arr=[10,20,30,40]
console.log(arr.shift(),arr);//10 [20, 30, 40]
concat(元素和参数)
返回一个新数组(新数组中有旧数组,元素和参数,如果参数中有数组,就会取出数组的元素),旧数组中元素不变
var arr=[10,20,30,40]
var arr2=[50,60]
var arr3="a"
console.log(arr.concat(arr2,70,80,arr3),arr);// [10, 20, 30, 40, 50, 60, 70, 80, 'a'] [10, 20, 30, 40]
copyWithin(x,y,z)
从y下标开始以z 下标为结束的元素进行拷贝(左闭右开) 改变原来数组且返回
var arr=[10,20,30,40]
var arr2=[50,60]
var arr3="a"
console.log(arr.copyWithin(1,0,2),arr);// [10, 10, 20, 40] [10, 10, 20, 40]
splice(x,y,z)
改变原数组,如果删除一个元素,则返回一个元素的数组。 如果未删除任何元素,则返回空数组。
x:必需。规定从何处添加/删除元素。该参数是开始插入和(或)删除的数组元素的下标,必须是数字。
y:可选。规定应该删除多少元素。必须是数字,但可以是 "0"。如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。
z:可选。要添加到数组的新元素
var arr=[10,20,30,40]
console.log(arr.splice(1,1,1),arr);//[20] [10, 1, 30, 40]
indexOf(x,y)
查询元素下标
x:必需。规定需检索的字符串值。
y:可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 string Object.length - 1。如省略该参数,则将从字符串的首字符开始检索。
var arr=[10,20,30,40]
console.log(arr.indexOf(30),arr);//2 [10, 20, 30, 40]
sort
对数组中的元素进行排列(升序或降序)
降序
var arr=[10,20,30,40]
var arr2=arr.sort(function (n1,n2) {
return n2-n1
})
console.log(arr2,arr);//[40, 30, 20, 10] [40, 30, 20, 10]
升序
var arr=[10,20,30,40]
var arr2=arr.sort(function (n1,n2) {
return n1-n2
})
console.log(arr2,arr);//[10, 20, 30, 40] [10, 20, 30, 40]
字符串
charAt(字符在字符串中的位置)
返回在指定位置的字符
var arr=`hello,我的世界`
console.log(arr.charAt(8),arr);//世 hello,我的世界
split(x,y)
分割
x:可选。字符串或正则表达式,从该参数指定的地方分割 string Object。
y:可选。该参数可指定返回的数组的最大长度。
var arr=`hello,我的世界`
console.log(arr.split(","),arr);//['hello', '我的世界'] "hello""我的世界" 'hello,我的世界'
slice(x,y)
字符串求字串
x:必须。 要抽取的片断的起始下标
y:可选。 紧接着要截取的片段结尾的下标
var arr=`hello,我的世界`
console.log(arr.slice(6,8),arr);//我的 hello,我的世界
trim
去掉首尾空字符串
var str = " abc "
var str2 = str.trim();
console.log(str2);//abc
笔试题: 去掉字符串的首尾的空字符 (至少3种)
1.使用trim()方法
var str = " abc "
var str2 = str.trim();
console.log(str2);//abc
2.使用replace()方法和正则表达式去掉首尾空字符
var str = " abc "
var str2 = str.replace(/^\s+|\s+$/g, '');
console.log(str2);//abc
3.使用正则表达式和match()方法来匹配非空字符部分
var str = " abc "
var str2 = str.match(/\S+(.*\S)?/);
console.log(str2[0]);//abc
Math
Math.PI
Π的近似值:3.141593635389396
floor
向下取整
var str = " abc "
var str2 = str.match(/\S+(.*\S)?/);
console.log(str2[0]);//3
ceil
向上取整
var a=3.1415926
console.log(Math.ceil(a));
round
四舍五入取整
var a=3.1415926
console.log(Math.round(a));//3
var a=3.5415926
console.log(Math.round(a));//4
max
求最大数
console.log(Math.max(10,20,30));//30
min
求最小数
console.log(Math.min(10,20,30));//10
sqrt
求开根号
console.log(Math.sqrt(100));//10
sin
求正弦值
console.log(Math.sin(Math.PI/2));//1
cos
求余弦值
console.log(Math.sin(Math.PI));//-1
tan
求tan值
console.log(Math.sin(Math.PI/8);//1
random
取随机数
console.log(Math.random());//随机数(随时存在变化)
Object
定义:构造函数调用的方法称为静态方法 构造函数调用的属性称为静态属性
get与set方法重构
var obj = { x: 10 }
obj.y = 30
obj["z"] = 40
Object.defineProperty(obj, "q", {
set(v) {
console.log(v)//100
},
get() {
return "666666"
}
})
obj.q = 100
console.log(obj.q)//666