1、日期对象常用方法:
<script>
// 创建日期对象方式1
var date1 = new Date();
console.log('date1=', date1);
// 方式2, 参数可以是一个日期的字符串
var date2 = new Date('2020-06-24');
console.log('date2=', date2);
// 方式3, 返回1970到现在的毫秒数
var date3 = Date.now();
console.log('date3=', date3);
// 方式4, 参数可以是一个毫秒数
var date4 = new Date(1624497306713);
console.log('date4', date4);
var date4 = new Date(0);
console.log('date4', date4);
</script>
借助 BootCDN
<script>
// 日期的常用方法
// 1.获取年月日时分秒 (月份+1)
var date = new Date();
var y = date.getFullYear();
var m = date.getMonth() + 1;
var d = date.getDate();
var h = date.getHours();
var M = date.getMinutes();
var S = date.getSeconds();
console.log(y);
console.log(m);
console.log(d);
console.log(h);
console.log(M);
console.log(S);
// 对小于10的数,前面加0
m = m < 10 ? '0' + m : m;
d = d < 10 ? '0' + d : d;
h = h < 10 ? '0' + h : h;
// 格式化日期
var dateStr = `${y}年${m}月${d}日 ${h}:${M}:${S}`;
console.log('现在时间是:', dateStr);
// 2.获取星期
var week = date.getDay();
console.log('week', week);
// 3.获取毫秒数, 和Date.now()一样
var ss = date.getTime();
console.log('ss', ss);
// 4.日期比较
var date1 = new Date('2021-06-24');
var date2 = new Date('2021-06-23');
console.log('date2-date1', date2 - date1); // -86400000
</script>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://momentjs.bootcss.com/downloads/moment.js"></script>
</head>
<body>
<script>
var str = moment().format('YYYY-MM-DD hh:mm:ss');
console.log(str);
</script>
</body>
</html>
字符串常用方法:
1、length //获取字符串的长度
2、trim() //去掉字符串前后的空格
3、toLowerCase( ) //转化为小写字母
4、toUpperCase() //转化为大写字母
5、charAt() // 返回某个下标对应的字符
6、indexOf() //返回字符在原字符串中的位置
7、lastIndexOf() //返回字符在原字符串中的位置,但从后面开始检测
8、includes() //检查字符串中是否包含指定字符
9、split() //字符串转数组,接收一个参数,作为转化的标志
10、substring() //截取字符串,接收两个参数,开始的位置和结束的位置
11、slice() //截取字符串,用法类似于subString,开始位置到结束位置。。但是可以复数,,若只有一个参数,则是 从当前位置到结束
12、substr() //截取字符串,接收两个参数,第一个参数是 开始位置,一个是截取的字符个数
13、match() //检查有没有包含某个值,返回符合一个数组,存放符合条件的字符
14、replace() //替换
<script>
// 1.length // 字符串的长度
var str1 = 'asdfasdfasdf';
console.log('str1', str1.length);
// 2.trim() // 去掉字符串前后的空格
var str2 = ' aaaaaaaaa ';
var newStr2 = str2.trim();
console.log('str2', str2);
console.log('newStr2', newStr2);
// 3.toLowerCase() // 转小写字母
var str3 = 'asdfASDFasdfs';
var newStr3 = str3.toLowerCase();
console.log('newStr3', newStr3);
// 4.toUpperCase() // 转大写字母
// 5.charAt() // 返回某个下表对应的字符
var str5 = 'abcde';
var chat5 = str5.charAt(1);
console.log('chat5', chat5);
// 6.indexOf() // 返回字符(字符串)在原字符串中的的位置
var str6 = 'abcdef';
var index6 = str6.indexOf('b');
console.log('index6=', index6);
// 7.lastIndexOf() // 同上,但从后面开始检查
var str7 = 'abcdebf';
var index7 = str7.lastIndexOf('b');
console.log('index7=', index7);
// 8.includes() // 检查字符串是否包含指定字符
var str8 = '我是中国人';
var boo8 = str8.includes('我');
console.log('boo8', boo8); // true
// 9.split() // 字符串转数组,接收一个参数,作为转换的标志
var str9 = '刘享高危,林玉生,刘顺顺';
var arr9 = str9.split(',');
console.log('arr9=', arr9);
// 10.substring() // 截取字符串,接收两个参数,开始的位置和结束的位置(不含), 有了slice,就很少substring
var str10 = 'abcdefg';
var newStr10 = str10.substring(1, 4);
console.log('newStr10=', newStr10) // bcd
// 11.slice() 截取字符串(极常用), 用法类似substring, 但可以是负数
var str11 = 'abcdefg';
var newStr11 = str11.slice(1, 4);
console.log('newStr11=', newStr11) // bcd
var newStr11 = str11.slice(1, -1); // 参数可以是负数
console.log('newStr11=', newStr11) // bcdef
var newStr11 = str11.slice(-1); // 第二个参数不给,从参数的位置开始,一直截取到最后
console.log('newStr11=', newStr11) // g
var phone = 13811112222;
var phoneStr = phone + '';
var newStr11 = phoneStr.slice(-4); // 从-4的位置开始截取到末尾
console.log('newStr11=', newStr11);
// 12.substr() 截取字符串, 接收两个参数,第一个参数是开始位置, 第二个参数是截取的字符个数
var str12 = 'abcdef';
var newStr12 = str12.substr(1, 3);
console.log('newStr12', newStr12);
// 13.match() // 检查有没有包含某个值, 返回符合一个数组,存放符合条件的字符
var str13 = 'abcdeabcdabcd';
var arr13 = str13.match('a');
console.log('arr13', arr13);
// 正则
var arr13 = str13.match(/a/g);
console.log('arr13', arr13);
// 14.replace() // 替换
var str14 = '张三,李四,王五,张三,陈六,张三';
var newStr14 = str14.replace('张三', '张无忌');
console.log('newStr14=', newStr14);
// 15.替换全部,使用replaceAll或者正则
var newStr14 = str14.replaceAll('张三', '张无忌');
console.log('newStr14=', newStr14);
var newStr14 = str14.replace(/张三/g, '张无忌');
console.log('newStr14=', newStr14);
</script>
2、Math 对象
JS Math对象允许你对数字执行数学任务
四舍五入 Math.round()
向上取整 Math.ceil()
向下取整 Math.floor()
绝对值 Math.abs()
平方根 Math.sqrt()
最大值和最小值 Math.min() Math.Max() 可用于查找参数列表中的最小值和最大值
Math.min(192,2980,22,23,12,-28); //结果 -28
随机数 Math.random() //返回0~1的随机数
Math.random()*(max-min)+min //介于min~max之间的随机数
3、数组方法
1、pop() 删除数组的最后一个元素并返回删除的元素。
2、 push() 向数组的末尾添加一个或更多元素,并返回新的长度。
3、 shift() 删除并返回数组的第一个元素。
4、 unshift() 向数组的开头添加一个或更多元素,并返回新的长度。
5 、map()。对原来成员改头换面
6、 filter() 检测数值元素,并返回符合条件所有元素的数组。
7、 forEach() 遍历数组。
8、 isArray() 判断对象是否为数组。
9、 find() 返回符合传入测试(函数)条件的数组元素。 // 只返回符合条件的第一个成员, 没有符合条件就返回 undefined
10、 findIndex() 返回符合传入测试(函数)条件的数组元素索引。
11、 indexOf() 搜索数组中的元素,并返回它所在的位置。
12、 lastIndexOf() 搜索数组中的元素,并返回它最后出现的位置。
13、 some() 检测数组元素中是否有元素符合指定条件。 // 用来判断数组是否包含符合条件的成员, 包含返回 true, 不包含返回 false
14、 includes() 判断一个数组是否包含一个指定的值。 // 成员只能是基本数据类型
15、 join() 把数组的所有元素放入一个字符串。
16、 slice() 选取数组的一部分,并返回一个新数组。
17、 splice() 从数组中添加或删除元素。
18、 sort() 对数组的元素进行排序。
19、 reverse() 反转数组的元素顺序。
数组里面能否放不同类型的数据?
Array.isArray(数组名)
arryname.includes('字符')
arryname.join('-'); //"-"是分隔符,默认是逗号,也可以是其他
arryname.reverse()
arryname.slice(num1.num2) //找到从第num1到第num2个字符,,,不包括第num2个字符
arryname.push() //在arrayname数组中添加新的元素,在末尾添加
arrayname.pop() //删除数组中的元素
<script>
// 1. Array.isArray() 判断对象是否为数组。
var arr1 = [12, 3, 4, 5];
// var arr1 = new Array();
console.log(typeof arr1); // object
var boo1 = Array.isArray(arr1);
console.log('boo1', boo1);
// 2. includes() 判断一个数组是否包含一个指定的值。 // 成员只能是基本数据类型
var arr2 = ['a', 'b', 'c', 'd'];
var boo2 = arr2.includes('a'); //
console.log('boo2', boo2);
// 3. join() 把数组的所有元素放入一个字符串。
var arr3 = ['a', 'b', 'c', 'd'];
var str3 = arr3.join('-'); // -是分隔符, 默认是逗号,也可以上是其他
console.log('str3=', str3);
// 4. reverse() 反转数组的元素顺序。
var arr4 = ['a', 'b', 'c', 'd'];
var newArr4 = arr4.reverse();
console.log('newArr4', newArr4);
// 5. slice() 选取数组的一部分,并返回一个新数组。类似字符串的slice方法
var arr5 = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var newArr5 = arr5.slice(2, 5);
console.log('newArr5=', newArr5);
// 6. pop() 删除数组的最后一个元素并返回删除的元素。
var arr6 = [1, 2, 3];
arr6.pop();
console.log('pop', arr6);
// 7. push() 向数组的末尾添加一个或更多元素,并返回新的长度。
var arr7 = [1, 2, 3];
arr7.push(4);
console.log('push', arr7);
// 8. shift() 删除并返回数组的第一个元素。
// 9. unshift() 向数组的开头添加一个或更多元素,并返回新的长度。
// 10. map()。对原来成员改头换面,传入一个函数, 返回一个新的数组
var arr10 = [{
name: 'zs',
age: 10
}, {
name: 'ls',
age: 20
}, {
name: 'ww',
age: 30
}];
var newArr10 = arr10.map(function(item, index) {
// 对名字进行处理
var name = item.name.toUpperCase();
return {
name: name,
age: item.age - 10
};
});
console.log('newArr10=', newArr10);
console.log('----------11. filter()----------------')
// 11. filter() 检测数组元素,并返回符合条件所有元素的数组。
var arr11 = [{
name: 'zs',
age: 10
}, {
name: 'ls',
age: 20
}, {
name: 'ww',
age: 30
}];
var newArr11 = arr11.filter(function(item, index) {
return item.age >= 20;
});
console.log('newArr11=', newArr11);
console.log('----------12. forEach() ----------------')
// 12. forEach() 遍历数组。
var arr12 = [{
name: 'zs',
age: 10
}, {
name: 'ls',
age: 20
}, {
name: 'ww',
age: 30
}];
arr12.forEach(function(item, index) {
console.log(index, item);
});
console.log(str);
// for循环
var filmList = [{
filmName: '电影1',
time: 120
}, {
filmName: '电影2',
time: 120
}, {
filmName: '电影3',
time: 120
}, {
filmName: '电影4',
time: 130
}]
var str = '';
for (var i = 0; i < filmList.length; i++) {
var item = filmList[i];
str += `
<li><span>${item.filmName}</span> <span>${item}</span></li>
`;
}
// document.querySelector('#list').innerHTML = str;
// forEach循环
var str = '';
filmList.forEach(function(item, index) {
str += `
<li><span>${item.filmName}</span> <span>${item}</span></li>
`;
})
// document.querySelector('#list').innerHTML = str;
console.log('----------13. find() ----------------')
// 13. find() 返回符合条件的数组元素。 // 只返回符合条件的第一个成员, 没有符合条件就返回 undefined
var arr13 = [{
name: 'zs',
age: 10
}, {
name: 'ls',
age: 20
}, {
name: 'ww',
age: 30
}];
var newArr13 = arr13.find(function(item, index) {
// return item.name === 'zs';
return item.age > 10; // 只返回符合条件的第一个成员
});
console.log('newArr13=', newArr13);
console.log('----------14. findIndex() ----------------')
// 14. findIndex() 返回符合传入测试(函数)条件的数组元素索引。
var arr14 = [{
name: 'zs',
age: 10
}, {
name: 'ls',
age: 20
}, {
name: 'ww',
age: 30
}];
var index14 = arr14.findIndex(function(item, index) {
return item.age === 30;
});
console.log('index14=', index14);
// 15. indexOf() 搜索数组中的元素,并返回它所在的位置。
// 16. lastIndexOf() 搜索数组中的元素,并返回它最后出现的位置。
console.log('----------17. some() ----------------')
// 17. some() 检测数组元素中是否有元素符合指定条件。 // 用来判断数组是否包含符合条件的成员, 包含返回 true, 不包含返回 false
var arr17 = [{
name: 'zs',
age: 10
}, {
name: 'ls',
age: 20
}, {
name: 'ww',
age: 30
}];
var boo17 = arr17.some(function(item, index) {
return item.age > 10;
})
console.log('boo17=', boo17);
console.log('----------18. splice() ----------------')
// 18. splice() 从数组中添加或删除元素。参数可以是2个或者3个
var arr18 = [{
name: 'zs',
age: 10
}, {
name: 'ls',
age: 20
}, {
name: 'ww',
age: 30
}];
arr18.splice(1, 1); // 两个参数,第1个参数表示下标,第2个参数,表示删除的成员个数
console.log('arr18', arr18);
var arr18 = [{
name: 'zs',
age: 10
}, {
name: 'ls',
age: 20
}, {
name: 'ww',
age: 30
}];
var item = {
name: '张欢',
age: 18
};
arr18.splice(1, 2, item); // 三个参数,第1个参数表示下标,第2个参数,表示删除的成员个数,第3个参数用来替代被删除的成员
console.log('arr18', arr18);
console.log('---------- 19. sort() ----------------')
// 19. sort() 对数组的元素进行排序。
var arr19 = ['a', 'c', 'x', 'd'];
var newArr19 = arr19.sort();
console.log('newArr19=', newArr19); // 按字母的升序排列
var arr19 = [1, 2, 10, 20, 8];
var newArr19 = arr19.sort();
console.log('newArr19=', newArr19);
// 传入一个函数参数,a-b升序排列,b-a降序排序
console.log('---------- 19. sort(),传入函数 ----------------')
var newArr19 = arr19.sort(function(a, b) {
return b - a;
});
console.log('newArr19=', newArr19);
console.log('---------- 19. sort(),成员是对象 ----------------')
// 成员是对象时也是如此
var arr19 = [{
name: 'zs',
age: 10
}, {
name: 'ls',
age: 20
}, {
name: 'ww',
age: 30
}, {
name: 'zh',
age: 18
}];
var newArr19 = arr19.sort(function(a, b) {
return b.age - a.age;
})
console.log('newArr19=', newArr19);
</script>
arryname.map(function(intem,index,整个数组){}) //三个参数
arryname.foreach(function(item,index){})
浏览器内置对象 window(一般叫 BOM 对象)
- window
- window.open
- location对象
- location.href 获取浏览器地址
- location.href = ‘http://www.baidu.com‘ // 跳转到百度
- location.href = ‘http://www.baidu.com?username=huruqing‘
- history对象
- setTimeout 延迟
- setInterval 定时器
- navigation: user-agent
作业
- 登录倒计时
- 城市列表过滤