1. 如何判断一个变量是否是数组
一、Array.isArray(obj) 调用数组的isArray方法
二、obj instanceof Array 判断对象是否是Array的实例
三、Object.prototype.toString.call(obj) ===‘[object Array]’
Object.prototype.toString方法会取得对象的一个内部属性[[Class]],然后依据这个属性,返回一个类似于[object Array]的字符串作为结果,call用来改变toString的this指向为待检测的对象
四、判断对象是否有push等数组的一些方法。(这个方法有兼容问题,但也是一个简单易用的方法)
五、obj.constructor===Array //true
2. 谈一谈如何提高用户体验
3. js单线程异步机制
一、首先理解一下什么是异步:异步就是把事情交给别人(浏览器)去做,所以自己(js执行线程)不会阻塞。别人什么时候做什么时候做完我是不关心的。
二、js在浏览器中怎么执行:js执行线程在执行某一js语句的时候会给浏览器发送请求并告知回调函数,然后js执行线程又继续执行其他语句了。等请求完成后浏览器会将回调函数放入执行队列的队尾等待执行。
三、异步是如何实现的:异步是靠浏览器的两个或者两个以上的常驻线程来完成的,第一个就是js的执行线程,第二个就是事件触发线程,js执行线程发出异步请求给浏览器,浏览器开一个新的请求线程来处理,js执行线程继续执行其他任务。那么事件触发线程呢?他就监听这个请求,如果这个请求完成了,就将该事件插入到JS执行队列的尾部等待JS处理。
4. 谈一下js面向对象编程的理解
继承、封装、多态
5. ES6中的class相当于ES5中什么
6. ES6中的const在ES5中怎么实现
-----------------------------分割线,以下是React相关问题-----------------------------
评论 (3 )
最新评论
问题也太少了.
平安医疗
平安惠普吗