zoukankan      html  css  js  c++  java
  • apply、call、bind的区别

    apply、call、bind这三种方法一般用来改变this指向。

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

    call()方法接收两个参数,一个是函数运行的作用域this,传递给函数的参数一定要列举出来。

    语法:调用一个对象的一个方法,另一个对象替换当前对象

    apply([thisObj[,argArray]])

    call([thisObj[,arg1[,arg2[,…,argn]]]])

    说明:如果没有提供任何一个参数,那么Global对象将用作thisObj。

    bind和call、apply方法不同,bind函数不会执行,而只是返回一个改变了上下文的函数副本,而call和apply是直接执行函数,bind也可以有多个参数,并且参数可以执行的时候再次添加,但是要注意的是,参数是按照形参的顺序进行的。

    apply结合Math可以提取数组的最大最小值:

      var a = [1,3,4,56,23,4];
      Math.max.apply(null,a) ————//56
      Math.min.apply(null,a) ————//1

    传null或undefined时,将是JS执行环境的全局变量。浏览器中是window,其它环境(如node)则是global

  • 相关阅读:
    h5-news_index
    h5-爆料view
    h5-列表
    h5-注册
    h5-登录
    h5-弹出层layer,提示,顶部横条,
    jquery 弹窗插件 layer
    jQuery幻灯片插件Owl Carousel
    display:block jquery.sort()
    Android 开源框架ViewPageIndicator 和 ViewPager 仿网易新闻客户端Tab标签
  • 原文地址:https://www.cnblogs.com/hmycheryl/p/8671956.html
Copyright © 2011-2022 走看看