zoukankan      html  css  js  c++  java
  • js参考---arguments

    js参考---arguments

    一、总结

    一句话总结:

    在调用函数时,浏览器会传递arguments这个隐含的参数,调用函数传递的实参都会在arguments中保存,arguments是一个类数组对象,它也可以通过索引来操作数据,也可以获取长度

    1、在调用函数时,浏览器每次都会传递进两个隐含的参数,分别是什么?

    1.函数的上下文对象 this
    2.封装实参的对象 arguments

    2、arguments对象的callee属性是干嘛的?

    arguments对象的callee属性 指向调用函数的对象
    function fun(a,b){
      //console.log(arguments instanceof Array);
      //console.log(Array.isArray(arguments));
      //console.log(arguments[1]);
      //console.log(arguments.length);
      console.log(arguments.callee == fun);
    }

    3、arguments是一个类数组对象如何理解?

    arguments不是一个数组对象((arguments instanceof Array)值是false),但是有数组对象的特点,比如访问方式,比如获取长度

    二、arguments

    博客对应课程的视频位置:

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="UTF-8">
     5         <title></title>
     6         <script type="text/javascript">
     7             /*
     8              * 在调用函数时,浏览器每次都会传递进两个隐含的参数:
     9              *     1.函数的上下文对象 this
    10              *     2.封装实参的对象 arguments
    11              *         - arguments是一个类数组对象,它也可以通过索引来操作数据,也可以获取长度
    12              *         - 在调用函数时,我们所传递的实参都会在arguments中保存
    13              *         - arguments.length可以用来获取实参的长度
    14              *         - 我们即使不定义形参,也可以通过arguments来使用实参,
    15              *             只不过比较麻烦
    16              *             arguments[0] 表示第一个实参
    17              *             arguments[1] 表示第二个实参 。。。
    18              *        - 它里边有一个属性叫做callee,
    19              *             这个属性对应一个函数对象,就是当前正在指向的函数的对象
    20              *         
    21              */
    22             
    23             function fun(a,b){
    24                 //console.log(arguments instanceof Array);
    25                 //console.log(Array.isArray(arguments));
    26                 //console.log(arguments[1]);
    27                 //console.log(arguments.length);
    28                 console.log(arguments.callee == fun);
    29             }
    30             
    31             fun("hello",true);
    32             
    33         </script>
    34     </head>
    35     <body>
    36     </body>
    37 </html>
     
  • 相关阅读:
    Qt 学习之路 2(39):遍历容器
    Qt 学习之路 2(38):存储容器
    JS 格式化日期
    springboot 核心注解
    Java 生成随机数 Random、SecurityRandom、ThreadLocalRandom、Math.random()
    验证码 easy_captcha
    读过的书籍
    typora 常用快捷键
    kafka 遇到的问题
    老男孩Linux 运维
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/12435008.html
Copyright © 2011-2022 走看看