智一面为您提供模拟练习题:

高级前端工程师    http://www.gtalent.cn/exam/interview?token=76f1af731aa16cfd9addb763891fb73e
中级前端工程师 http://www.gtalent.cn/exam/interview?token=05fc891d3a7b4f3a89520d6b789da38b
初级前端工程师 http://www.gtalent.cn/exam/interview?token=77be195b15052213bd1452130fbd7b64
前端实习生 http://www.gtalent.cn/exam/interview?token=e0a66129f7665f61d1d8bf17bcc5ccb5

知道ECMAScript 6里怎么写class么?

ES6的class可以看作只是一个语法糖,它的绝大部分功能,ES5都可以做到,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已。

//定义类

class Point {

  constructor(x,y) {  //构造方法

      this.x = x;  //this关键字代表实例对象

      this.y = y;

  }

  toString() {

      return '(' + this.x + ',' + this.y + ')';

  }

}

call() 和 .apply() 的区别?

方法的定义 

call方法: 

语法:call(thisObj,Object)

定义:调用一个对象的一个方法,以另一个对象替换当前对象。

说明:

call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。 

如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。 

apply方法: 

语法:apply(thisObj,[argArray])

定义:应用某一对象的一个方法,用另一个对象替换当前对象。 

说明: 

如果 argArray 不是一个有效的数组或者不是 arguments 对象,那么将导致一个 TypeError。 

如果没有提供 argArray 和 thisObj 任何一个参数,那么 Global 对象将被用作 thisObj, 并且无法被传递任何参数。

 

智一面|热门IT岗面试题集锦