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

     

     

    我要再和生活死磕几年,要么我就毁灭,要么我就注定辉煌,如果有一天,你发现我在平庸面前低了头,请向我开炮。
  • 相关阅读:
    C#+ArcEngine10.0+SP5实现鼠标移动动态显示要素属性信息
    C#中实现excel文件批量导入access数据表中
    C#子窗体闪烁问题解决
    C#打印代码运行时间
    TableLayoutPanel导致的闪屏问题
    线段余弦角+凸包算法
    ICommand相关知识
    批量导出access某表内容到word文档
    通过数组里的时间重新排序数组
    数组层级叠加
  • 原文地址:https://www.cnblogs.com/nlovestudy/p/14555195.html
Copyright © 2011-2022 走看看