JavaScript
1.JavaScript内置对象有哪些?
- Math
- Date
- Function
- Array
- String
- Number
- Boolean
- Object
2.JavaScript内置对象Array、String有哪些方法(15个以上)?
- Array
push() //将一个或多个数据加入到数组的末端,并返回新的数组长度. pop() //取出数组中的最后一项,修改length属性,并返回被删除的数据 shift() //取出数组中的第一个元素,修改length属性 unshift() //在数组最前面插入项,返回数组的长度 reverse() //翻转数组 sort() //即使是数组sort,也是根据字符,从小到大排序 // 带参数的sort是如何实现的? concat() //把参数拼接到当前数组 slice() //从当前数组中截取一个新的数组,不影响原来的数组,参数start从0开始,end从1开始 splice(位置start,个数deleteCount,新元素options...) //删除或替换当前数组的某些项目,参数start, deleteCount, options(要替换的项目) //以上方法的含义是删除从位置start起的deleteCount个元素,用新元素option替代(新元素option可以有很多个). join() // 方法将数组的所有元素以给定字符串进行"串联"为一个字符串格式。 indexOf()、lastIndexOf() //根据字符找下标,如果没找到返回-1 every()、filter()、forEach()、map()、some()
- String
// 1 字符方法 charAt() //获取指定位置处字符 charCodeAt() //获取指定位置处字符的ASCII码 // 2 字符串操作方法 concat() //拼接字符串,等效于+,+更常用 slice(start,end) //从start位置开始,截取到end位置,end取不到 substring(start,end) //从start位置开始,截取到end位置end取不到 substr(start,length) //从start位置开始,截取length个字符 // 3 位置方法 indexOf() //返回指定内容在元字符串中的位置,该方法可以设置两个参数,.indexOf('要找的字符串',从某个位置p),表示从某个位置p开始找特定字符串,如果找到,就返回找到的位置,否则返回-1;第二个参数如果省略,就从位置0开始找. lastIndexOf() //从后往前找,只找第一个匹配的 // 4 去除空白 trim() //只能去除字符串前后的空白(包括空格,回车符,换行符,tab符) // 5 大小写转换方法 to(Locale)UpperCase() //转换大写 to(Locale)LowerCase() //转换小写 // 6 其它 search() //基本等同于match,但是返回值为匹配的第一个位置。如果没有找到匹配,则返回-1 replace() //用于替换匹配的子字符串,一般情况下只替换第一个匹配,返回新字符串 split() //将字符串以指定的字符分割为数组
3.JavaScript数据类型有哪些?
4.判断变量数据类型的方式?
5.null和undefined的区别?
6.js常见的Dom操作API?
7.事件冒泡和事件捕获?
8.阻止事件冒泡的几种方式?
9.对闭包的理解,什么时候构成闭包?闭包的实现方法?闭包的优缺点?
10.this使用场景及指向?
- 箭头函数中:指向父级的this
- 定时器中:指向window
- 普通函数中:
- 实例对象中:
11.修改this指向的方法?三者的区别是什么?
call、apply、bind
12.new关键字的作用?
13.解释原型链?
14.创建对象的方式?
15.实现继承的方式?优缺点?
16.理解js变量提升?
17.==和===的区别?==中强制类型转换后比较是怎么实现的?
18.重绘和回流?
19.编译型语言和解释型语言?
计算机不能直接理解任何除机器语言以外的语言,所以必须要把程序员所写的程序语言翻译成机器语言,计算机才能执行程序。将其他语言翻译成机器语言的工具,被称为编译器。
编译器翻译的方式有两种:一个是编译,另外一个是解释。两种方式之间的区别在于翻译时间点的不同。当编译器以解释方式运行的时候,也称之为解释器。
- 编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。如 C、C++
- 解释型语言:解释型语言编写的程序不进行预先编译,以文本方式存储程序代码,会将代码一句一句直接运行。在发布程序时,看起来省了道编译工序,但是在运行程序的时候,必须先解释再运行,如JavaScript
编译型语言与解释型语言对比:
- 速度 —— 编译型语言比解释型语言执行速度快
- 跨平台性 —— 解释型语言比编译型语言跨平台性好
20.宏任务、微任务、任务队列和调度?
21.作用域?
- 全局作用域:
- 局部作用域:?
- 块级作用域:?