arguments

2020-06-24  本文已影响0人  李霖弢

arguments

类数组对象,代表正在执行的函数的参数。在严格模式下无法使用。

[function.]arguments[n]

含有以下属性

caller

是函数对象的属性,指向调用当前函数的函数的引用。
不同于this,不会指向调用方法的对象。

  var obj = {
    fn: function () {
      console.log(arguments.callee.caller);//null
    }
  };
  obj.fn();
<body>
  <div onclick="fn0(10)">hello world</div>
</body>
<script>
  function fn() {
    console.log(arguments);
    console.log(fn.arguments);
    console.log(fn0.arguments);
    console.log(arguments.callee == fn);//true
    console.log(fn.arguments.callee == fn);//true
    console.log(fn.name);//"fn"
    console.log(fn.caller);//fn0
    console.log(fn.caller.caller);//f onclick
  }
  function fn0(num) {
    fn(num * 10);
  }
</script>
 <div onclick="fn()">hello world</div>
ƒ onclick(event) {
  fn()
}
function fn (){
  var e = window.event || arguments.callee.caller.arguments[0];
}
上一篇 下一篇

猜你喜欢

热点阅读