第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

一道面試題請問為什么會出現(xiàn)這種結果?

一道面試題請問為什么會出現(xiàn)這種結果?

米琪卡哇伊 2018-08-02 13:19:48
var length = 10;    function fn(){        alert(this.length);    }    var obj = {        length:5,        method:function( fn /* , a */ ){            fn();            arguments[0]();            // this.method.arguments[0]();            // console.dir(arguments);            // console.dir(this.method.length);            // console.dir(arguments.length);        }    }    obj.method(fn);
查看完整描述

2 回答

?
胡說叔叔

TA貢獻1804條經(jīng)驗 獲得超8個贊

fn()調用的時候應該是綁定丟失(默認綁定),所以是10

之后arg調用,函數(shù)的上下文變成了arguments,長度為1


查看完整回答
反對 回復 2018-08-05
?
回首憶惘然

TA貢獻1847條經(jīng)驗 獲得超11個贊

第一個彈出10應該好理解,第二個彈出1
arguments并不是一個數(shù)組,這個你打印一下就可以看到
arguments[0]這個0就相當于arguments的一個屬性,跟obj[attrName]是一樣的
arguments[0]()就跟調用obj[attrName]一樣,這時候fn里面的this就指向arguments了
這樣就能理解后一個為什么是1了

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

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號