前端面试题--十一

119 阅读1分钟

1.js执行机制:

会将执行的任务分成同步任务和异步任务,优先执行同步任务,异步任务会放在特定的处理程序,满足条件后被放在消息队列中,同步任务执行完毕,通过事件循环去消息队列中挑选优先满足条件的程序放到主线程执行栈中执行,事件循环,周而复始,一直执行。

2.简单说JavaScript中的作用域,预解析,以及变量提升得到的体现。

作用域指的是:变量饿有效范围,在一定空间内可以进行读写操作,这个空间就是变量的作用域。
作用域有三种:全局作用域(全局),局部作用域(函数内),块级作用域(代码块内)
变量提升体现在:引用var定义的变量可以再定义变量之前,函数也一样 export function fn (){log('函数fn')}。

3.commonjs与module导入导出的语法。

默认导入:import obj from './子模块.js' 默认导出 :export default {name:'张三',age:22}
按需导入:import{a,fn as f1} from './子模块.js' 

4.什么是伪数组,如何转化成真实的数组?

具有length属性,按索引值储存数据,不具有push.pop方法的是伪数组
使用 Array.from()

5.解决跨域的方法,如何实现。

CORS方法,jsonp,开放静态资源
app.use(express.static('文件夹地址'))
引入cors第三方模块
app.use(cors())