- (一) 字符串常用方法
- 1. length // 字符串的长度
- 2. trim() // 去掉字符串前后的空格
- 3. toLowerCase() // 转小写字母
- 4. toUpperCase() // 转大写字母
- 5. charAt() // 返回某个下表对应的字符
- 6. indexOf() // 返回字符(字符串)在原字符串中的的位置
- 7. lastIndexOf() // 同上,但从后面开始检查
- 8. includes() // 检查字符串是否包含指定字符
- 9. split() // 字符串转数组,接收一个参数,作为转换的标志
- 10. substring() // 截取字符串,接收两个参数,开始的位置和结束的位置(不含), 有了slice,就很少substring
- 11. slice() // 截取字符串(极常用), 用法类似substring, 但可以是负数
- 12. substr() // 截取字符串, 接收两个参数,第一个参数是开始位置, 第二个参数是截取的字符个数
- 13. match() // 检查有没有包含某个值, 返回符合一个数组,存放符合条件的字符
- 14. replace() // 替换
- 15.替换全部,使用replaceAll或者正则
- (二) 常用的数组方法
- 1. Array.isArray() 判断对象是否为数组。
- 2. includes() 判断一个数组是否包含一个指定的值。 // 成员只能是基本数据类型
- 3. join() 把数组的所有元素放入一个字符串。
- 4. reverse() 反转数组的元素顺序。
- 5. slice() 选取数组的一部分,并返回一个新数组。 类似字符串的slice方法
- 6. pop() 删除数组的最后一个元素并返回删除的元素。
- 7. push() 向数组的末尾添加一个或更多元素,并返回新的长度。
- 8. shift() 删除并返回数组的第一个元素。
- 9. unshift() 向数组的开头添加一个或更多元素,并返回新的长度。
- 10. map()。对原来成员改头换面,传入一个函数, 返回一个新的数组
- 11. filter() 检测数值元素,并返回符合条件所有元素的数组。
- 12. forEach() 遍历数组。
- for循环与forEach循环,对比
- 13. find() 返回符合传入测试(函数)条件的数组元素。 // 只返回符合条件的第一个成员, 没有符合条件就返回 undefined
- 14. findIndex() 返回符合传入测试(函数)条件的数组元素索引。
- 15. indexOf() 搜索数组中的元素,并返回它所在的位置。
- 16. lastIndexOf() 搜索数组中的元素,并返回它最后出现的位置。
- 17. some() 检测数组元素中是否有元素符合指定条件。 // 用来判断数组是否包含符合条件的成员, 包含返回 true, 不包含返回 false
- 18. splice() 从数组中添加或删除元素。
- 19. sort() 对数组的元素进行排序。
- sort(),传入函数
- sort(),成员是对象
- (三) 日期对象常用方法和插件
- (四) Math 对象
- (五) 浏览器内置对象 window(一般叫 BOM 对象)
(一) 字符串常用方法
1. length // 字符串的长度
var st1 = 'asdfasdfasdf';console.log('st1',st1.length);
2. trim() // 去掉字符串前后的空格
var str2 = ' aaaaaaaaa ';var newStr2 = str2.trim();console.log('str2', str2);console.log('newStr2', newStr2);
3. toLowerCase() // 转小写字母
4. toUpperCase() // 转大写字母
var str3 = 'asdfASDFasdfs';var newStr3 = str3.toLowerCase();console.log('newStr3', newStr3);
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或者正则
// 15.替换全部,使用replaceAll或者正则var newStr14 = str14.replaceAll('张三', '张无忌');console.log('newStr14=', newStr14);var newStr14 = str14.replace(/张三/g, '张无忌');console.log('newStr14=', newStr14);
(二) 常用的数组方法
1. Array.isArray() 判断对象是否为数组。
var arr1 = [12, 3, 4, 5];// var arr1 = new Array();console.log(typeof arr1); // objectvar 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);
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);
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循环与forEach循环,对比
// 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;
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);
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() 搜索数组中的元素,并返回它最后出现的位置。
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);
18. splice() 从数组中添加或删除元素。
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);
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);
sort(),传入函数
// 传入一个函数参数,a-b升序排列,b-a降序排序var newArr19 = arr19.sort(function(a, b) {return b - a;});console.log('newArr19=', newArr19);
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);
(三) 日期对象常用方法和插件
3.1 创建日期对象的几种方式
// 创建日期对象方式1var 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);
3.2 日期对象的常用方法
// 创建日期对象方式1var 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);
1.获取年月日时分秒 (月份+1)
// 把日期对象格式化成我们想要的格式
// 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的数,前面加0m = 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. 获取星期
// 2.获取星期var week = date.getDay();console.log('week', week);
3. 获取毫秒数
// 3.获取毫秒数, 和Date.now()一样var ss = date.getTime();console.log('ss', ss);
4. 日期比较
// 4.日期比较var date1 = new Date('2021-06-24');var date2 = new Date('2021-06-23');console.log('date2-date1', date2 - date1); // -86400000
5. moment.js 日期函数库
http://momentjs.cn/
6. 一个cdn网站: https://www.bootcdn.cn/
(四) Math 对象
1. Math.round(x) // 四舍五入
var num1 = Math.round(4.4);console.log('num1=', num1);var num1 = Math.round(4.5);console.log('num1=', num1);
2. Math.abs(x) // 求 x 的绝对值
var num2 = Math.abs(-5);console.log('num2=', num2);
3. Math.floor(x) // 向下取整
var num3 = Math.floor(3.3);console.log('num3=', num3);var num3 = Math.floor(3.8);console.log('num3=', num3);
4. Math.ceil(x) // 向上取整
var num4 = Math.ceil(4.4);console.log('num4=', num4);var num4 = Math.ceil(4.8);console.log('num4=', num4);
5. Math.random() // 随机数,从0到1(不包含);
var num5 = Math.random();console.log(num5);
6. sqrt(x) // 求 x 的平方根
var num6 = Math.sqrt(1.44);console.log('num6', num6);
7. toFixed(x) 保留x位小数
var num7 = 3.234234825;var newNum7 = num7.toFixed(2);console.log('newNum7', newNum7);
8. 获取某个范围内的随机数
var num8 = parseInt(23.23234);console.log('num8', num8);
9. 获取某个范围内的随机数, 比如5-10之间的随机数
var num9 = Math.random() * (10 - 5) + 5;console.log('num9', num9);
10. 封装函数
function getRandom(min, max) {var num9 = Math.random() * (max - min) + min;num9 = Math.floor(num9);console.log('num9', num9);}
(五) 浏览器内置对象 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
作业:
- 登录倒计时
- 城市列表过滤
