zoukankan      html  css  js  c++  java
  • call(),apply()方法和类数组对象arguments

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="utf-8">
     5         <title></title>
     6     <script type="text/javascript">
     7    /*
     8    call(),apply()
     9    这两个方法都是函数对象的方法,需要通过函数对象来调用
    10    当对函数调用call()和apply()都会调用函数执行
    11    在调用call()和apply()可以将一个对象指定为第一个参数
    12      此时这个对象将会成为函数执行时的this
    13     call()方法可以将实参在对象之后依次传递
    14     apply()方法需要将实参封装到一个数组中统一传递
    15    */
    16   function fun(a,b){
    17       console.log("a="+a);
    18       console.log("b="+b);
    19       alert(this.name);//this是call,apply调用时的第一个参数
    20   }
    21   var obj={name:"wxy"};
    22   var obj2={name:"111"};
    23   //fun.call(obj);//wxy
    24   //fun.call(obj2);//111
    25   fun.call(obj,2,3);
    26   fun.apply(obj,[2,3]);
    27   /*
    28   在调用函数时,浏览器每次都会传递进两个隐含的参数,
    29   1.函数的上下文对象this
    30   2.封装实参的对象arguments
    31     arguments是一个类数组对象,它也可以通过索引来操作数据,也可以获取实参的长度
    32     在调用函数时,我们所传递的实参都会封装到arguments中
    33     我们即使不定义形参,也可以通过arguments来使用实参
    34     arguments[0] 表示第一个实参
    35     arguments[1] 表示第二个实参
    36     arguments有一个属性叫做callee
    37     这个属性对应一个函数对象,就是当前正在指向的函数的对象
    38   */
    39  
    40  function fun2(){
    41      console.log(arguments.length);//2
    42      console.log(arguments[0]);//12
    43  }
    44  fun2(12,3);
    45     </script>
    46     </head>
    47     <body>
    48     </body>
    49 </html>
  • 相关阅读:
    python学习之路(目录)--你想要的都在这里了
    计算机视觉学习之路(目录)------你想要的都在这里了
    python flask构建小程序订餐系统--centos下项目开发环境的搭建
    图像处理--图像特效
    数据库--初识数据库
    python基础-面向对象进阶
    JavaScript 模块封装
    JavaScript calss语法糖
    JavaScript 原型与继承
    JavaScript Object对象
  • 原文地址:https://www.cnblogs.com/zuiaimiusi/p/11225176.html
Copyright © 2011-2022 走看看