-
对象:属性方法的集合
-
内置 :js自己封装的对象 ,直接调用就行啦;
Math(数学函数)
-
Math.random() :获取一个0~1之间的随机数
var a = Math.random();
console.log(a);
//0.2992858434076544 -
Math.floor() 向下取整 (经常和随机数一起使用)
var a = 1.999999999; a = Math.floor(a); console.log(a); // 1
-
Math.ceil() 向上取整
var a = 1.11111; a = Math.ceil(a); console.log(a); // 2
Math.round()四舍五入
var a = 1.51; a = Math.round(a); console.log(a); // 2 //-------------------------------------------------- var b = 1.49; b = Math.roend(b); console.log(b) //1
-
Math.abs() 绝对值
var a = -1.51; a = Math.abs(a); console.log(a); // 1.51 //------------------------------------------------------- var b = 1.49; b = Math.abs(b); console.log(b) //1.49
-
Math.max()最大值
扫描二维码关注公众号,回复: 7293968 查看本文章
console.log(Math.max(10, 20)); //20;
Date 时间
-
语法:
var date = new Date(); // 得到的是当前时间的日期对象
-
获取年月日时分秒
console.log(date.getFullYear());// 年份 console.log(date.getMonth()+1); // 月份,从0开始 // 当前日 为什么不是getDay() 英语:日期date,day某天; console.log(date.getDate()); console.log(date.getHours()); // 小时,0-23 console.log(date.getMinutes()); // 分钟 , 0-59 console.log(date.getSeconds()); // 秒数 , 0-59 console.log(date.getMilliseconds()); // 毫秒 0-999 , 1秒 = 1000毫秒
-
创建一个指定日期的对象
// 给一个日期格式字符串 var date = new Date('2019-01-01'); // 分别传入年月日时分秒。注意传入的月份是从0开始算的 var date = new Date(2019,0,1,12,33,12);
-
获取从1970年1月1日到现在的总毫秒数,常说的时间戳
var date = new Date(); console.log(date.valueOf()); console.log(date.getTime()); console.log(1*date); console.log(Date.now());
Array 数组
对元素的操作
-
.push()从后面添加一个或多个元素
var arr = [1, 2, 3]; arr.push(4, 5); console.log(arr); //[1, 2, 3, 4, 5]
-
.pop() 删除最后一个元素
var arr = [1, 2, 3]; arr.pop(); console.log(arr); // [1, 2] //返回值是删除后的元素
-
.unshift 在数组的前面添加一个 或 多个元素
var arr = [1, 2, 3]; arr.unshift("11", "22"); console.log(arr); // ["11", "22", 1, 2, 3]
-
.shift 删除第一个元素
var arr = [1, 2, 3]; arr.shift(); console.log(arr); // [2, 3] //返回值 是删除的元素
-
.splice 对数组任意位置进行增删改
-
删除
//第一个为下标(索引)第二个是删除的个数 // 返回:被移除元素的数组 var arr = [1, 2, 3, 4, 5, 6, 7]; arr.splice(1, 2); console.log(arr); // [1, 4, 5, 6, 7]
-
增加
//()里面两个值时 第一个为下标(索引)第二个是增加的个数 第三 , 四,五个值是添加的元素 // 返回:一个空数组 var arr = [1, 2, 3, 4, 5, 6, 7]; arr.splice(1, 0, 8, 9); console.log(arr); // [1, 8, 9, 2, 3, 4, 5, 6, 7]
-
修改
//()里面两个值时 第一个为下标(索引)第二个是修改的的个数 第三个值是修改的元素 // 返回:被替换元素的数组 var arr = [1, 2, 3, 4, 5, 6, 7]; arr.splice(1, 1, '8'); console.log(arr); // [ 1, "8", 3, 4, 5, 6, 7]
-
与字符串互转
-
.split 把字符串转换为数组
//把字符串转换成数组 var str = '1-2-2-3'; var arr = str.split('-'); console.log(arr); // ["1", "2", "2", "3"]
-
.join 把数组转换为字符串
//把数组转换成字符串 var arr = ['1', '2', '4']; var str = arr.join('-'); console.log(str); // 1-2-4
查找元素
-
.indexOF 查找数组的元素 如果有返回下标 没有返回-1
var arr = [20, 30, 40]; console.log(arr.indexOf(30));//1 console.log(arr.indexOf(50));//-1
-
.findIndex 返回满足条件第一个索引 如果 没有满足 则返回-1
var arr = [10, 20, 30, 49]; var res1 = arr.findIndex(function(item) { return item >= 30; }); // 返回 满足条件的第一个元素的的索引 console.log(res1);//2 //--------------------------------------------------------------- var arr = [10, 20, 30, 49]; var res1 = arr.findIndex(function(item) { return item >= 50; }); // 返回 满足条件的第一个元素的的索引 条件不成立 返回-1 console.log(res1);//-1
遍历数组
-
for循环
var arr = [10, 20, 30, 49]; for (var i = 0; i<arr.length;i++){ console.log(arr[i])//10 20 30 49 }
-
forEach
//第一种 var arr = [10, 20, 30, 49]; arr.forEach(item => { console.log(item);//10 20 30 49 }); //--------------------------------------------------------- //第二种 var arr = [10, 20, 30, 49]; //item 属于数组的元素 index 是索引 arr.forEach(function(item, index) { console.log(item, index);//10 20 30 49 });
-
for in 返回数组的索引
var arr = [10, 20, 30, 49]; //key 是数组的索引 for (const key in arr) { console.log(arr[key]);//10 20 30 49 }
-
.filter 返回满足条件的元素 如果不满足 返回一条空数组
var arr = [10, 20, 30, 49]; var res = arr.filter(function(item, index, arr) { //返回小于条件的元素 //如果没有 返回一个空数组 return item > 30;//10,20 }) console.log(res); //---------------------------------------------------- var arr = [10, 20, 30, 49]; var res = arr.filter(function(item, index, arr) { //返回小于条件的元素 //如果没有 返回一个空数组 return item < 50;//[] }) console.log(res);
拼接与截取
-
.concat 拼接数组 返回值是新的数组
//里面有两个参数得时候 var arr = [1, 2]; var arr_1 = [3, 4]; var arr_2 = [5, 6]; // 数组拼接 //返回值是 新的数组 //可以写一个 也可以写多个 arr = arr.concat(arr_1, arr_2);//1,2,3,4,5,6 console.log(arr, arr.concat());
-
slick
//里面有一个参数的时候 var arr = [1, 2, 3, 4, 5, 6]; //截取下标为2 以后的元素 不包含2 //返回新的数组 arr = arr.slice(2); //3,4,5,6 console.log(arr); //------------------------------------------------------------ //当没有参数的时候 截取的是所有的元素 var arr = [1, 2, 3, 4, 5, 6]; //截取下标为2 以后的元素 不包含2 //返回新的数组 arr = arr.slice(); //1,2,3,4,5,6 console.log(arr);
复制
//复制 var arr = [1, 2, 3, 4, 5]; var new_arr = []; arr.forEach(function(item, index) { new_arr.push(item); }) console.log(new_arr);
string(字符串)
不可变
-
旧的字符串赋值在一个变量上,给变量重新赋值新的字符串(完全新的字符串,或者拼接后字符串),旧的字符串不是被覆盖;在内存的游离状态;
-
**所以尽量避免大量使用字符串的拼接;这个算性能优化的一点;
查找
-
** .indexOf** 字符串中如果存在 就返回下标 没有就返回-1
var str = '我爱你中国'; //如果查找的参数是字符串 那就返回的是下标,没有找到 就会返回-1 console.log(str.indexOf('我w'));
-
.charAt差字符串如果存在 就返回元素没有 就会返回空
var str = '我爱你中国'; //如果查找的参数是字符串 那就返回的是元素,没有找到 就会返回空 console.log(str.charAt(9));
-
charCodeAt 这个方法用于获取字符串中位于指定位置的字符的ASCII码
// 这个方法用于获取字符串中位于指定位置的字符的ASCII码 var str = 'abcdef' console.log(str.charCodeAt(0));
拼接与截取
-
+
-
concat拼接
var str = '123321'; var str_1 = '234'; str = str.concat(str_1); console.log(str);//123321234 //----------------------------------------- //也可以直接写字符串 var str = '123321'; str = str.concat('234'); console.log(str);
-
substring 截取字符串 不操作源字符串 返回值是新的字符串
var str = '123321'; //包左不包右 //从索引1开始到索引4 不写索引 返回整个字符串 写一个索引 返回这个索引右边的元素 str = str.substring(1, 4); console.log(str);
-
substr
var str = '123321'; //从索引1开始 索引4结束 str = str.substr(1, 4); //2332 console.log(str);