apply,call,bind,symbol的用法

一、apply

  在特定的作用域中调用函数,等于设置函数体内this对象的值,以扩充函数赖以运行的作用域。

  this总是指向调用某个方法的对象,但是使用call()和apply()方法时,就会改变this的指向。

  接收两个参数,一个是函数运行的作用域(this),另一个是参数数组。

  用法举例

  Math.max.apply(null, array)

  Math.max(...array)

二、call

  在特定的作用域中调用函数,等于设置函数体内this对象的值,以扩充函数赖以运行的作用域。

  this总是指向调用某个方法的对象,但是使用call()和apply()方法时,就会改变this的指向。

  第一个参数和apply()方法的一样,但是传递给函数的参数必须列举出来。

  用法举例

三、bind

  返回一个函数

  用法举例

四、symbol

  Symbol 值通过Symbol函数生成。这就是说,对象的属性名现在可以有两种类型,一种是原来就有的字符串,另一种就是新增的 Symbol 类型。凡是属性名属于 Symbol 类型,就都是独一无二的,可以保证不会与其他属性名产生冲突。

  用法举例

原文地址:https://www.cnblogs.com/it-cuiyi/p/10955754.html