<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    weidagang2046的專欄

    物格而后知致
    隨筆 - 8, 文章 - 409, 評論 - 101, 引用 - 0
    數據加載中……

    JavaScript中的arguments,callee,caller,call,appy

    < script?language = " JavaScript " >
    /*
    ?*?演示arguments的用法,如何獲取實參數和形數數
    ?
    */

    function ?argTest(a,b,c,d) {
    ????
    var ?numargs? = ?arguments.length;????? // ?獲取被傳遞參數的數值。
    ???? var ?expargs? = ?argTest.length;??????? // ?獲取期望參數的數值。
    ????alert( " 實參數目為: " + numargs)
    ????alert(
    " 形數數目為: " + expargs)

    ????alert(arguments[
    0 ])?????????
    ????alert(argTest[
    0 ])?????????? // undefined?沒有這種用法
    }

    // argTest(1,2)
    //
    argTest(1,2,3,4,5)

    /*
    ?*??arguments不是數組(Array類)
    ?
    */


    Array.prototype.selfvalue?
    = ? 1 ;
    function ?testAguments() {
    ????alert(
    " arguments.selfvalue= " + arguments.selfvalue);
    }

    // alert("Array.sefvalue="+new?Array().selfvalue);
    //
    testAguments();





    /*
    ?*?演示函數的caller屬性.
    ?*?說明:(當前函數).caller:返回一個對函數的引用,該函數調用了當前函數
    ?
    */


    function ?callerDemo()? {
    ????
    if ?(callerDemo.caller)? {
    ????????
    var ?a = ?callerDemo.caller.arguments[ 0 ];
    ????????alert(a);
    ????}
    ? else ? {
    ????????alert(
    " this?is?a?top?function " );
    ????}

    }

    function ?handleCaller()? {
    ????callerDemo();
    }


    // callerDemo();
    //
    handleCaller("參數1","參數2");


    /*
    ?*?演示函數的callee屬性.
    ?*?說明:arguments.callee:初始值就是正被執行的?Function?對象,用于匿名函數
    ?
    */

    function ?calleeDemo()? {
    ????alert(arguments.callee);
    }

    // calleeDemo();
    //
    (function(arg0,arg1){alert("形數數目為:"+arguments.callee.length)})();


    /*
    ?*?演示apply,call函數的用法
    ?*?說明:作用都是將函數綁定到另外一個對象上去運行,兩者僅在定義參數方式有所區別:
    ?*???????apply(thisArg,argArray);
    ?*?????call(thisArg[,arg1,arg2…]?]);
    ?*?????即所有函數內部的this指針都會被賦值為thisArg
    ?
    */


    ?
    function ?ObjectA() {
    ????alert(
    " 執行ObjectA() " );
    ????alert(arguments[
    0 ]);
    ????
    this .hit = function (msg) {alert(msg)}
    ????
    this .info = " 我來自ObjectA "
    ?}

    ?
    ?
    function ?ObjectB() {
    ????alert(
    " 執行ObjectB() " );
    ????
    // 調用ObjectA()方法,同時ObjectA構造函數中的所有this就會被ObjectB中的this替代
    ????ObjectA.apply( this ,arguments); // ObjectA.call(this);
    ????alert( this .info);
    ?}

    ?
    // ObjectB('參數0');


    ?
    var ?value = " global?變量 " ;
    ?
    function ?Obj() {
    ????
    this .value = " 對象! " ;
    ?}

    ?
    function ?Fun1() {
    ????alert(
    this .value);
    ?}

    ?
    // Fun1();
    ? // Fun1.apply(window);?
    ? // Fun1.apply(new?Obj());?
    </ script >

    from: http://www.tkk7.com/xfan/archive/2007/01/12/93504.html

    posted on 2007-01-13 08:52 weidagang2046 閱讀(440) 評論(0)  編輯  收藏 所屬分類: Javascript

    主站蜘蛛池模板: 97热久久免费频精品99| 鲁大师在线影院免费观看| 四虎国产精品免费久久| 亚洲国产精品yw在线观看| **一级一级毛片免费观看| 亚洲激情电影在线| 免费av欧美国产在钱| 亚洲老熟女五十路老熟女bbw| 国内免费高清在线观看| 亚洲国产精品无码久久| 四虎永久精品免费观看| j8又粗又长又硬又爽免费视频| 国产成人亚洲综合| 国产一精品一AV一免费| 综合自拍亚洲综合图不卡区| 国产又大又粗又长免费视频| 亚洲欧美成aⅴ人在线观看| 又黄又大又爽免费视频| 成年女人A毛片免费视频| 久久精品国产亚洲AV电影| 国国内清清草原免费视频99| 久久久亚洲精华液精华液精华液| 亚洲欧洲久久久精品| 国产va在线观看免费| 亚洲一区中文字幕在线电影网| 免费观看美女裸体网站| 一级成人a做片免费| 久久精品九九亚洲精品| 国产美女无遮挡免费网站| 国产免费内射又粗又爽密桃视频 | 久久精品免费视频观看| 亚洲综合视频在线观看| 美女黄网站人色视频免费国产| 无码的免费不卡毛片视频| 久久亚洲精品成人AV| 色吊丝永久在线观看最新免费| 99re6在线视频精品免费| 亚洲国产成人精品久久| 亚洲中久无码不卡永久在线观看| 亚洲精品免费观看| 国产精品亚洲va在线观看|