微信二维码
微博二维码
qq号二维码

高频前端面试题5

夏磊银 2020.03.31 119人浏览
2020高频前端JavaScript面试题5

一、判断 js 类型的方式

1. typeof

可以判断出'string','number','boolean','undefined','symbol'

但判断 typeof(null) 时值为 'object'; 判断数组和对象时值均为 'object'

2. instanceof

原理是 构造函数的 prototype 属性是否出现在对象的原型链中的任何位置

复制

function A() {}

let a = new A();

a instanceof A     //true,因为 Object.getPrototypeOf(a) === A.prototype;

3. Object.prototype.toString.call()

常用于判断浏览器内置对象,对于所有基本的数据类型都能进行判断,即使是 null 和 undefined

4. Array.isArray()

用于判断是否为数组


二、ES5 和 ES6 分别几种方式声明变量

ES5 有俩种:var 和 function

ES6 有六种:增加四种,let、const、class 和 import

注意:let、const、class声明的全局变量再也不会和全局对象的属性挂钩


三、async 和 await

async 和 await 用了同步的方式去做异步,async 定义的函数的返回值都是 promise,await 后面的函数会先执行一遍,然后就会跳出整个 async 函数来执行后面js栈的代码


四、transform、translate、transition 分别是什么属性?

transform 是指变换、变形,是 css3 的一个属性,和 width,height 属性一样;

translate 是 transform 的属性值,是指元素进行 2D(3D)维度上位移或范围变换;

transition 是指过渡效果,往往理解成简单的动画,需要有触发条件。


分享到:
微信小程序之wx.uploadFile
  • 2019.11.30
  • JavaScript的用途以及特点
  • 2020.09.29
  •