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

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

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

    weidagang2046的專欄

    物格而后知致
    隨筆 - 8, 文章 - 409, 評(píng)論 - 101, 引用 - 0
    數(shù)據(jù)加載中……

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

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

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

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

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

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


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

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





    /*
    ?*?演示函數(shù)的caller屬性.
    ?*?說(shuō)明:(當(dāng)前函數(shù)).caller:返回一個(gè)對(duì)函數(shù)的引用,該函數(shù)調(diào)用了當(dāng)前函數(shù)
    ?
    */


    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("參數(shù)1","參數(shù)2");


    /*
    ?*?演示函數(shù)的callee屬性.
    ?*?說(shuō)明:arguments.callee:初始值就是正被執(zhí)行的?Function?對(duì)象,用于匿名函數(shù)
    ?
    */

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

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


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


    ?
    function ?ObjectA() {
    ????alert(
    " 執(zhí)行ObjectA() " );
    ????alert(arguments[
    0 ]);
    ????
    this .hit = function (msg) {alert(msg)}
    ????
    this .info = " 我來(lái)自O(shè)bjectA "
    ?}

    ?
    ?
    function ?ObjectB() {
    ????alert(
    " 執(zhí)行ObjectB() " );
    ????
    // 調(diào)用ObjectA()方法,同時(shí)ObjectA構(gòu)造函數(shù)中的所有this就會(huì)被ObjectB中的this替代
    ????ObjectA.apply( this ,arguments); // ObjectA.call(this);
    ????alert( this .info);
    ?}

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


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

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

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

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

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

    主站蜘蛛池模板: 亚洲午夜AV无码专区在线播放| 午夜老司机永久免费看片| 91网站免费观看| 亚洲精品欧洲精品| 无码专区AAAAAA免费视频| 亚洲线精品一区二区三区影音先锋| 免费无码AV一区二区| 国产又黄又爽又猛的免费视频播放| 亚洲精品无码aⅴ中文字幕蜜桃| 免费观看成人毛片a片2008| 亚洲电影唐人社一区二区| 亚洲高清视频免费| 亚洲高清不卡视频| 99在线精品视频观看免费| 亚洲综合一区二区三区四区五区 | 久久精品国产亚洲AV蜜臀色欲| 亚洲电影在线免费观看| 亚洲不卡中文字幕| 日本免费一区二区三区最新| 免费看内射乌克兰女| 日韩亚洲一区二区三区| 永久在线免费观看| 亚洲一区二区三区在线观看网站| 免费一级做a爰片性色毛片| 精品国产呦系列在线观看免费| 亚洲国产精品福利片在线观看| 精品免费久久久久久久| 亚洲精品无码专区| 亚洲午夜精品久久久久久浪潮| 久久精品免费观看国产| 国产精品亚洲精品| 国产亚洲午夜高清国产拍精品| 99久久久国产精品免费蜜臀| 亚洲国产精品成人AV在线| 亚洲人色婷婷成人网站在线观看| 亚洲免费人成视频观看| 另类小说亚洲色图| 久久亚洲私人国产精品vA| 永久免费无码网站在线观看| 91福利免费网站在线观看| 激情内射亚洲一区二区三区爱妻|