zoukankan      html  css  js  c++  java
  • call方法

    call方法的作用:

    函数名.call(对象,arg1....argn)

    1.将this指向第一个参数

    2.将第二个及以后所有的参数,作为实参传递给函数

    var person = {
      fullName: function(city, country) {
        return this.firstName + " " + this.lastName + "," + city + "," + country;
      }
    }
    var person1 = {
      firstName:"Bill",
      lastName: "Gates"
    }
    person.fullName.call(person1, "Seattle", "USA");

    apply方法的使用:
    函数名.apply(对象, 数组/伪数组)
    1. var a=Math.max.apply( null, [ 1, 2, 5, 3, 4 ] );
    2.  console.log(a);// 输出:5

     bind方法的使用:

    1. var a=Math.max.bind( null, 1,2,3,4,5 )();
    2.  console.log(a);// 输出:5

    注意事项

     1.call和apply只是传参方式的区别,apply可以通过数组的方式传参

    2.call和apply的第一个参数如果是null和underfined,那么this会指向windows

    3.call和apply的第一个参数如果为值类型的数据,那么会将这个值类型的数据,转换成其对应的引用类型的数据,然后再将this指向这个引用类型的数据

    4.call和apply立即执行这个函数,bind方法可以让对应的函数想什么时候调就什么时候调用,并且可以将参数在执行的时候添加,这是它们的区别,根据自己的实际情况来选择使用。
    5.当参数的个数确定的情况下可以使用call;当参数的个数不确定的情况下可以使用apply

     

     

    我要再和生活死磕几年,要么我就毁灭,要么我就注定辉煌,如果有一天,你发现我在平庸面前低了头,请向我开炮。
  • 相关阅读:
    android的ScaleGestureDetector缩放类详解
    ScaleGestureDetector缩放view
    setBackgroundDrawable和setBackgroundColor的用法
    Android安卓开发中图片缩放讲解
    android 比较靠谱的图片压缩
    Android ContentProvider和Uri详解 (绝对全面)
    android:intent flags
    Activity的加载模式及Intent.setFlags
    关于final中的几个忽略的点的再次阐述
    关于继承的一些问题
  • 原文地址:https://www.cnblogs.com/nlovestudy/p/14555195.html
Copyright © 2011-2022 走看看