- (一) 字符串常用方法
- 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); // 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);
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 创建日期对象的几种方式
// 创建日期对象方式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);
3.2 日期对象的常用方法
// 创建日期对象方式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);
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的数,前面加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. 获取星期
// 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
作业:
- 登录倒计时
- 城市列表过滤