目录
浅拷贝与深拷贝
闭包
字符串常用方法
- 获取字符串长度:length
- 获取字符串指定位置的值:charat() 方法获取到的是指定位置的字符
- 查询是否包含某字符:indexOf、lastIndexOf、includes、search。
- 字符串拼接:出了使用+号,应该使用concat
- 字符串分割成数组:split
- 截取字符串:substr()、substring()和 slice()
- 字符串大小写转换:toLowerCase转小写、toupperCase转大写
- 字符串转数字:parseInt转整数、parseFloat转小数
数组常用方法
-
- 合并数组:concat
- 指定字符数组转字符串:join
- 添加元素操作:push()尾部 和unshift()头部
- shift() & pop() 删除元素操作
- sort() 数组排序,改变原数组
- reverse() 反转数组,改变原数组
- slice() 截取数组,不改变原数组 //截取: 第2个参数是下标
- splice() 更新数组,改变原数组 //替换:第2个参数是length
- indexOf() & lastIndexOf() 索引方法,不改变原数组
- find() & findindex() 根据函数内的判断返回找到的数组内的第一个元素。不改变原数组。 (es6新增方法)
- forEach()、map()、filter()、some()、every() 迭代方法,不改变原数组。
- reduce()、reduceRight() 归并方法,不改变原数组
- keys()、values()、entries() 遍历数组方法,不改变原数组。 (es6新增方法)
- includes() 不改变原数组。 (es6新增方法)
对象常用方法
-
对象合并
Object.assgin()
-
对象解构
-
对象转数组
改变this指向的三种方法
1. call(this,uname,age) 立即执行
2. apply(this,[uname,age]) 立即执行
3. bind(this,uname,age) 不会立即执行
水仙花术
<script>
// 5**3 Math.pow(5,3)
function fun() {
for (var i = 100; i < 1000; i++) {
//分别取百位、十位和个位的数字
var sum = parseInt(i / 100) ** 3 + parseInt(i / 10 % 10) ** 3 + parseInt(i % 10) ** 3
if (sum == i) {
console.log(i)
}
}
}
fun()
</script>
求约数
<script>
/*用户输入一个数字,在控制台中列出它的所有约数。*/
// function fun(n) {
// for (i = 1; i <= n; i++) {
// if (n % i == 0) {
// console.log(i)
// }
// }
// }
// fun(12)
// //1 2 3 4 6 12
/**安全数**/
function fun() {
for (var i = 1; i <= 60; i++) {
if (i % 7 != 0 && i % 10 != 7) {
console.log(i)
}
}
}
fun()
</script>