一、数组方法
1.push方法
——在数组最后添加新元素
语法:arr.push(element1, …, elementN)
返回值:当调用该方法时,新的 length 属性值将被返回
var arr = ["red", "green", "blue"];
arr.push(“pink”);
2.unshift()方法
——在数组开头添加元素
语法:数组名.unshift()
返回值:当一个对象调用该方法时,返回其 length 属性值。
let arr = [4,5,6];
arr.unshift(1,2,3);
.log(arr); // [1, 2, 3, 4, 5, 6]
arr = [4,5,6]; // 重置数组
arr.unshift(1);
arr.unshift(2);
arr.unshift(3);
console.log(arr); // [3, 2, 1, 4, 5, 6]
3.isArray()方法
——判断参数是不是数组
语法:Array.isArrary()
返回值:返回布尔值
// 下面的函数调用都返回 true
Array.isArray([]);
Array.isArray([1]);
Array.isArray(newArray());
Array.isArray(newArray('a', 'b', 'c', 'd')) // 鲜为人知的事实:其实 Array.prototype 也是一个数组。
Array.isArray(Array.prototype);
// 下面的函数调用都返回 false
Array.isArray();
Array.isArray({});
Array.isArray(null);
Array.isArray(undefined);
Array.isArray(17);
Array.isArray('Array');
Array.isArray(true);
Array.isArray(false);
4.toString()方法
——把数组转成字符串
语法:数组名.toString
返回值:一个表示指定的数组及其元素的字符串。
5.valueOf()方法
——方法返回一个 [Date](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Date) 对象的原始值
语法:数组名.valueOf()
返回值:返回数组本身
var x = newDate(56, 6, 17);
var myVar = x.valueOf();
6.pop()方法
———删除数组末尾的值
语法:数组名.pop()
返回值:返回删除的值
let myFish = ["angel", "clown", "mandarin", "surgeon"];
let popped = myFish.pop();
console.log(myFish); // ["angel", "clown", "mandarin"]
console.log(popped);
7.shift()方法
——删除数组第一个的值
语法:数组名.shift()
返回值:返回删除的值,从数组中删除的元素; 如果数组为空则返回undefined 。
let myFish = ['angel', 'clown', 'mandarin', 'surgeon'];
console.log('调用 shift 之前: ' + myFish); // "调用 shift 之前: angel,clown,mandarin,surgeon"
var shifted = myFish.shift();
console.log('调用 shift 之后: ' + myFish); // "调用 shift 之后: clown,mandarin,surgeon" console.log('被删除的元素: ' + shifted); // "被删除的元素: angel"
8.reverse()方法
——翻转数组
语法:数组名.reverse()
返回值:颠倒后的数组。
const a = [1, 2, 3];
console.log(a); // [1, 2, 3]
a.reverse();
console.log(a); // [3, 2, 1]
9.join()方法
——以所用的符号对数组进行拼接方法
语法:数组名.join(‘分割符号’)
返回值:一个所有数组元素连接的字符串。如果 arr.length** **为0,则返回空字符串。
var a = ['Wind', 'Rain', 'Fire'];
var myVar1 = a.join(); // myVar1的值变为"Wind,Rain,Fire"
var myVar2 = a.join(', '); // myVar2的值变为"Wind, Rain, Fire"
var myVar3 = a.join(' + '); // myVar3的值变为"Wind + Rain + Fire"
var myVar4 = a.join(''); // myVar4的值变为"WindRainFire"
10.sort()方法
——排序
语法:数组名.sort()
返回值:排序后的数组。请注意,数组已原地排序,并且不进行复制。
var numbers = [4, 2, 5, 1, 3];
numbers.sort(function(a, b) {
return a - b;
}); console.log(numbers);
也可以写成: var numbers = [4, 2, 5, 1, 3];
numbers.sort((a, b) => a - b);
console.log(numbers); // [1, 2, 3, 4, 5]
11.contact()方法
——拼接数组
语法:数组名.conta(数组名1) 把多个数组拼接成一个数组 并且不影响原有的数组
数组名.conta(数组名1,…数组名N) 把多个数组拼接成一个数组 并且不影响原有的数组
var sedan = ["S60", "S90"];
var SUV = ["XC40", "XC60", "XC90"];
var Volvo = sedan.concat(SUV);
12.slice()方法
——根据参数截取里面参数
语法:数组名.slice()
注意:
slice(开始索引值,结束索引值) 数组截取(下标)包括左边不包括右边
如果第二个数是正数, 返回从开始位置到结束的位置(但不包括最后结束的位置)
如果第二个数是负数,返回的是开始位置到结束位置减一
如果第二个数是0或者两个数都是负数,则返回[]
var nums = [1,2,3,4,5,6,7,8,9]
console.log(nums.slice(0,4))//1,2,3,4
console.log(nums.slice(2))//3,4,5,6,7,8,9
console.log(nums.slice(2,nums.indexOf(6)))//3,4,5
console.log(nums.slice(2,0))//[]
console.log(nums.slice(2,-1))//3,4,5,6,7,8
console.log(nums.slice(2,-2))//3,4,5,6,7
13.indexOf()方法
——某个元素从左到右第一次出现的下标
语法:数组名.indexOf()
14.lastIndexOf()方法
——某个元素从左到右最后一次出现的下标
语法:数组名.lastIndexOf
var nums = [1,5,1,16,56,6,5,66]
var index = nums.indexOf(5)
console.log(index)//1
index = nums.lastIndexOf(5)
console.log(index)//6
15.filter()方法
——过滤满足条件为true的元素
语法:数组名.filter()
返回值:一个新的、由通过测试的元素组成的数组,如果没有任何数组元素通过测试,则返回空数组。
var fruits = ['apple', 'banana', 'grapes', 'mango', 'orange'];
functionfilterItems(query) {
return fruits.filter(function(el) {
return el.toLowerCase().indexOf(query.toLowerCase()) > -1;
})
}
console.log(filterItems('ap')); // ['apple', 'grapes']
console.log(filterItems('an')); // ['banana', 'mango', 'orange']
16.map() 方法
——返回原来的数组操作之后的数据
语法:数组名.map(function(v,index,arr){ })
返回值:回调函数的结果组成了新数组的每一个元素。
var numbers = [1, 4, 9];
var roots = numbers.map(Math.sqrt); // roots的值为[1, 2, 3], numbers的值仍为[1, 4, 9]
17.every()方法
——方法测试一个数组内的所有元素是否都能通过某个指定函数的测试。
语法:数组名.every()
返回值:返回一个布尔值,如果回调函数的每一次返回都为 truthy 值,返回 true ,否则返回 false。相当于&&
functionisBigEnough(element, index, array) {
return element >= 10;
}
[12, 5, 8, 130, 44].every(isBigEnough); // false
[12, 54, 18, 130, 44].every(isBigEnough); // true
18.some()方法
——方法测试数组中是不是至少有1个元素通过了被提供的函数测试。
语法:数组名.some()
返回值:数组中有至少一个元素通过回调函数的测试就会返回true;所有元素都没有通过回调函数的测试返回值才会为false。
functionisBiggerThan10(element, index, array) {
return element > 10;
}
[2, 5, 8, 1, 4].some(isBiggerThan10); // false
[12, 5, 8, 1, 4].some(isBiggerThan10); // true
二、对象方法
1、定时器函数
setTimeout()——等待一段时间后执行一次函数内容,只执行一次
setInterval() ——每隔一段时间就执行一次
2、清除计时器
clearTimeout( 定时器的ID)
clearInterval( 定时器的ID)
定时器的ID即函数的返回值
3.create()方法——创建一个对象
返回值:一个新对象,带着指定的原型对象和属性。
4.values()
——遍历可枚举的属性值,只包含对象本身可枚举属性值,不包含原型链可枚举属性值
三、字符串对象的创建:
let str = new String('HELLO')
字符串方法:charAt() : 获取指定位置的字符
letstr="sttasasa"
char
charCodeAt() : 获取指定位置处字符的ASCLL码
atr[0] : 获取指定位置字符字符串操作方法:concat() : 拼接字符串
varhello="Hello, ";
console.log(hello.concat("Kevin"," have a nice day."));
slice(start, end) : 从start开始截取元素,到end结束,不包括end
varstr1='The morning is upon us.',// str1 的长度 length 是 23。
str2=str1.slice(1,8),
str3=str1.slice(4,-2),
str4=str1.slice(12),
str5=str1.slice(30);
console.log(str2);// 输出:he morn
console.log(str3);// 输出:morning is upon u
console.log(str4);// 输出:is upon us.
console.log(str5);// 输出:""
// 传入负数时做为索引
substring(start,end) : 从start位置开始,截取到end位置,end取不到(推荐使用)substr(start,length) : 从start位置开始,截取length个字符
varanyString="Mozilla";
// 输出 "Moz"
console.log(anyString.substring(0,3));
indexOf() : 返回指定内容在元字符串中的位置,如果没有,返回-1;(从前往后,检索到第一个就结束)
str.indexOf(searchValue,fromIndex)
// searchValue被查找的值
// fromIndex 查找的位置
lastIndexOf() : 返回指定内容在元字符串中的位置,如果没有,返回-1;(从后往前,检索到第一个就结束)
str.lastIndexOf(searchValue,fromIndex)
// searchValue被查找的值
// fromIndex 查找的位置
trim() : 只能去除字符串前后的空白
varorig=' foo ';
console.log(orig.trim());// 'foo'
// 另一个.trim()例子,只从一边删除
varorig='foo ';
console.log(orig.trim());// 'foo'
toUpperCase() : 转换大写
console.log("alphabet".toUpperCase());// "ALPHABET"
toLowerCase() : 转换小写
console.log("ALPHABET".toLowerCase());
// "alphabet"
search() : 方法用于检索字符串中指定的子字符串,返回子字符串的起始位置
varstr="hey JudE";
varre=/[A-Z]/g;
varre2=/[.]/g;
console.log(str.search(re));// returns 4, which is the index of the first capital letter "J"
console.log(str.search(re2));// returns -1 cannot find '.' dot punctuation
replace(old,new) : 替换字符串替换字符串 new替换old
varstr='Twas the night before Xma;
varnewstr=str.replace('Xma','Christmas');
console.log(newstr);// Twas the night before Christmas
split() :分割字符串 返回的是一个数组。数组的元素就是以参数的分割的。
letstr='The quick brown fox jumps over the lazy dog.';
letwords=str.split(' ');
console.log(words);
//Array ["The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog."]
五、常用内置对象
Math对象Math.PI : 圆周率直接调用即可,求圆的周长。
function calculateCircumference (radius) {
return 2 * Math.PI * radius;
}
Math.random() : 生成随机数生成0 – 1之间的随机小数。
返回值:返回浮点数。左闭右开
Math.floor() : 向下取整返回小于或等于一个给定数字的最大整数
Math.ceil() : 向上取整返回大于或等于一个给定数字的最小整数
Math.round() : 取整,四舍五入返回一个数字四舍五入后最接近的整数
Math.abs() : 绝对值函数返回指定数字 “x“ 的绝对值。
Math.max() : 最大值返回数组中的最大值
Math.min() : 最小值返回数组中的最小值
Math.sin() : 正弦返回数值的正弦
Math.cos : 余弦返回数组的余弦
Math.pow() : 指数次幂返回括号内基数的指数次幂
Math.sqrt() : 求平方根返回括号内 基数的平方根
- Date对象Date()是构造函数
var date = new Date()