<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 閱讀(444) 評論(0)  編輯  收藏 所屬分類: Javascript

    主站蜘蛛池模板: 一边摸一边爽一边叫床免费视频| 欧美激情综合亚洲一二区| 一个人免费观看视频在线中文| 免费的一级黄色片| 亚洲 无码 在线 专区| 国产av无码专区亚洲国产精品| 午夜亚洲AV日韩AV无码大全| 亚洲男人天堂2022| 无码专区永久免费AV网站| 亚洲自偷自偷在线制服| aa毛片免费全部播放完整| 自拍偷自拍亚洲精品情侣| a在线视频免费观看| 久久亚洲AV成人无码| 一区二区无码免费视频网站| 亚洲av永久无码| 国产精品亚洲不卡一区二区三区| 成人自慰女黄网站免费大全| 久久精品国产亚洲综合色| 亚洲1区2区3区精华液| 亚洲AV中文无码乱人伦在线视色| 国产免费一级高清淫曰本片| 亚洲一区二区在线视频| kk4kk免费视频毛片| 无码国产精品久久一区免费| 苍井空亚洲精品AA片在线播放 | 国产美女被遭强高潮免费网站| 黄色免费网址大全| 久久精品无码一区二区三区免费| 亚洲精品蜜夜内射| 亚欧免费视频一区二区三区| 中文字幕中韩乱码亚洲大片 | 亚洲成综合人影院在院播放| 免费萌白酱国产一区二区三区| 久久精品国产亚洲AV高清热| 成人毛片免费网站| 中文字幕高清免费不卡视频| 亚洲人成在线播放| 在线观看国产区亚洲一区成人| 免费福利在线播放| 无码精品人妻一区二区三区免费|