亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

新手:關于函數對象

新手:關于函數對象

Smart貓小萌 2018-10-19 10:13:55
這樣寫是對的
查看完整描述

1 回答

?
慕后森

TA貢獻1802條經驗 獲得超5個贊

var byteArrayUntil=(function(){

   getUseData=function(data,offset){   //敲黑板!??!劃重點!面試必考題! 聲明變量不寫var,就等于 window.getUseData

        var arr=[];

        for(var i=0;i<=799;i++){

            arr.push(i);

        }

        return arr;

    }

   getUseJson=function(data,offset){

        var arr=[];

        for(var i=0;i<=500;i++){

            arr.push(i);

        }

        return {'hz':arr};

    }

return this; //這里this是什么呢?是運行的上下文,這是個立即執行函數,是誰執行了它捏?是window,所以這里的this就是window 對象,辣么var byteArrayUntil = 這個return的this,辣么,byteArrayUntil 就指向了window。

})();

console.log(byteArrayUntil.getUseJson()); // 所以,byteArrayUntil.getUseJson() 就等于 window.getUseJson()

同樣道理,下面那個報錯的代碼塊
this依然等于window,this.getUseJson就等于window.getUseJson和上一題一樣
但是,byteArrayUntil在這里啥都不是啊。。因為立即執行函數木有return,它就是個undefined。
so,undefined.getUseJson()必然報錯了。

查看完整回答
反對 回復 2018-11-05
  • 1 回答
  • 0 關注
  • 545 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號