02.arguments.html 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. <script>
  9. /*
  10. 当调用函数时,浏览器每次都会传递进两个隐含的参数
  11. 1.函数的上下文对象this
  12. 2.封装实参的对象arguments
  13. -arguments是一个类数组对象,它也可以通过索引来操作数据,也可以获取长度
  14. -在调用函数时,我们传递的实参都会在arguments中保存
  15. arguments.length可以用来获取实参的长度
  16. 我们即使不定义形参,也可以通过arguments来使用实参,
  17. 只不过比较麻烦。
  18. arguments[0]表示第一个实参
  19. arguments[1]表示第二个实参
  20. ……
  21. -它里边有一个属性叫做callee,
  22. 这个属性对应一个函数对象,就是当前正在指向的函数的对象
  23. */
  24. function fun() {
  25. // console.log(arguments instanceof Array);//输出结果为false
  26. // console.log(Array.isArray(arguments));//输出结果为false
  27. // console.log(arguments.length);//输出结果为2
  28. // console.log(arguments[1]);
  29. console.log(arguments.callee);
  30. console.log(arguments.callee == fun);//输出结果为true
  31. }
  32. fun("hello",true);
  33. </script>
  34. </head>
  35. <body>
  36. </body>
  37. </html>