没有合适的资源?快使用搜索试试~ 我知道了~
前端技术面试经常被问的面试题
资源详情
资源评论
资源推荐
前端
1. 闭包及其作用域
作用域是可访问变量的集合,可以分为全局作用域和局部作用域。
闭包就是将函数内部和函数外部连接起来的一座桥梁
this 是在函数运行时,在函数体内部自动生成的一个对象,只能在函数体内
部使用
箭头函数是没有 this 的,只会从自己的作用域链的上一层继承 this。箭
头函数的 this 在它被定义的时候就确定了,之后永远不会改变。
闭包
函数 A 内部有函数 B,函数 B 可以访问函数 A 的变量,那么函数 B
就是闭包。本质上,闭包就是将函数内部和函数外部连接起来的一
座桥梁。
闭包有三大特性
函数嵌套函数
函数内部可以引用函数外部的参数和变量
参数和变量不会被垃圾回收机制回收
闭包的优点
可读取函数内部的变量
局部变量可以保存在内存中,实现数据共享
执行过程所有变量都匿名在函数内部
闭包的缺点
使函数内部变量存在内存中,内存消耗大
滥用闭包可能会导致内存泄漏
闭包可以在父函数外部改变父函数内部的值,慎操作
使用场景
模拟私有方法
setTimeout 的循环
匿名自执行函数
结果要缓存场景
实现类和继承
2. 原型与原型链
所有原型链的终点都是 Object 函数的 prototype 属性
每一个构造函数都拥有一个 prototype 属性,此属性指向一个对象,也就是原
型对象
原型对象默认拥有一个 constructor 属性,指向指向它的那个构造函数
每个对象都拥有一个隐藏的属性 proto ,指向它的原型对象
3. JavaScript 的基本类型及其判断
boolean
string
number
null
undened
Symbol
Object
4. 数组方法
Push 和 pop
Push 把元素逐个添加到数组末尾,可接收任意数量的参数并返回修改后
数组的长度
Pop 数组末尾移除最后一项,减少数组的 length 值,然后返回移除的项
Shi 和 unshi
Sort
sort():按升序排列数组项,即最小的值位于最前面,最大的值排在最后
面。
但是注意的是,在排序时,sort()方法会调用数组项的 toString()方法,然
后比较得到的字符串来确定如何排序。
sort()方法可以接收一个比较函数作为参数,若参数比较返回-1 则是升序
排序,返回 1 则是升序排序
如果是降序的话,只需要交换返回值就好
//升序
function compare(value1, value2) {
if (value1 < value2) {
return -1;
} else if (value1 > value2) {
return 1;
} else {
return 0;
}
}
arr2 = [18, 29, 4, 50];
console.log(arr2.sort(compare)); // [4, 18, 29, 50]
//降序
function compare(value1, value2) {
if (value1 < value2) {
return 1;
} else if (value1 > value2) {
return -1;
} else {
return 0;
}
}
arr2 = [18, 29, 50, 4];
console.log(arr2.sort(compare)); // [50, 29, 18, 4]
Reverse
reverse():反转数组项的顺序。
Join
默认用逗号为分隔符,参数是分隔符。
var arr = [1,2,3];
console.log(arr.join()); // 1,2,3
console.log(arr.join("+")); // 1+2+3
console.log(arr); // [1, 2, 3]
Concat
concat() :将参数添加到原数组中。该方法会先创建当前数组一个副本,
然后将接收到的参数添加到这个副本的末尾,最后返回新构建的数组。
若没有给 concat()方法传递参数,默认情况下复制当前数组并返回,不会
改变原数组
Slice
slice():返回从原数组中指定开始下标到结束下标之间的项组成的新数组。
slice()方法可以接受一或两个参数,即要返回项的起始和结束位置。在只
有一个参数的情况下, slice()方法返回从该参数指定位置开始到当前数
组末尾的所有项。如果有两个参数,该方法返回起始和结束位置之间的
项,但不包括结束位置的项
Splice
indexOf()和 lastIndexOf()
indexOf():接收两个参数:要查找的项和(可选的)表示查找起点位置
的索引。其中, 从数组的开头(位置 0)开始向后查找。
lastIndexOf:接收两个参数:要查找的项和(可选的)表示查找起点位
置的索引。其中, 从数组的末尾开始向前查找。
var arr = ['a','b','c','d','e','e','a'];
console.log(arr.indexOf('c')); //2
console.log(arr.lastIndexOf('c')); //2
剩余12页未读,继续阅读
孤我不夜城
- 粉丝: 1
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0