zoukankan      html  css  js  c++  java
  • 回调函数

    arguments.callee.length 返回实参个数
    arguments.length 返回形参个数
    arguments.callee 返回当前被调用方法的引用,通过此引用可以实现回调
    函数名.caller 返回当前函数被谁调用,如果调用者是window则返回null,是其他函数调用当前函数则返回其他函数的引用

    回调函数就是作为参数传递到其他函数中执行,与普通参数传递没有太大区别,主要注意的地方就是回调时作用域this的变化会导致结果不一致,如果想要保护this指向,可以通过apply或call来指定this对象
    apply(thisArg,argArray);
    call(thisArg[,arg1,arg2…] ]);
    ,apply(绑定到哪一个对象上,[参数]),第一个参数就是指定回调函数的作用域对象,后面的数组为回调需要的参数,call与apply类似,只是传递参数采用可变参数形式而非数组形式,应用call和apply还有一个技巧在里面,就是用call和apply应用另一个函数(类)以后,当前的函数(类)就具备了另一个函数(类)的方法或者是属性,这也可以称之为“继承”。

    apply调用和call调用与普通函数调用差不多,如function a(){},调用函数a可以有3中方式,a(),a.apply(thisObj,[]),a.call(thisObj,...),只不过apply和call可以指定作用域,而直接调用不能绑定作用域

  • 相关阅读:
    455. Assign Cookies
    [leetcode]Linked List Cycle
    *[topcoder]GooseTattarrattatDiv1
    [topcoder]FoxAndChess
    *[topcoder]TheTree
    *[topcoder]LittleElephantAndBalls
    *[topcoder]HexagonalBoard
    *[topcoder]AstronomicalRecords
    *[topcoder]LittleElephantAndIntervalsDiv1
    [topcoder]IncrementAndDoubling
  • 原文地址:https://www.cnblogs.com/javabg/p/7700152.html
Copyright © 2011-2022 走看看