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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

新手構(gòu)造函數(shù)初級(jí)問題

新手構(gòu)造函數(shù)初級(jí)問題

Ni14 2016-12-09 16:31:22
<!DOCTYPE?html> <html> <head> ????<meta?charset="UTF-8"> ????<title>構(gòu)造函數(shù)</title> ????<script> ????????function?Rect(w,h) ????????{ ????????????this.width=w; ????????????this.height=h; ????????????this.area=function() ????????????{ ????????????????return?this.width*this.height; ????????????} ????????} ????????var?r=new?Rect(5,10); ????????alert(r.area) ????</script> </head> <body> </body> </html>請(qǐng)問我在視頻上看的這樣正確的應(yīng)該是求出r.area的值也就是50. 但我為什么彈出的是function() ????????????{ ????????????????return?this.width*this.height; ????????????}這個(gè)函數(shù)本身?。窟€有個(gè)問題就是,在上面的構(gòu)造函數(shù)中 ?定義完this.width=w; this.height=h;之后定義this.area的時(shí)候?yàn)槭裁床荒苤苯佣xthis.area=this.width*this.height啊 ?視頻上非要套個(gè)函數(shù)也就是這樣this.area=function() ????????????{ ????????????????return?this.width*this.height; ????????????}
查看完整描述

3 回答

已采納
?
一瞬兒光

TA貢獻(xiàn)178條經(jīng)驗(yàn) 獲得超70個(gè)贊

第一個(gè)問題:

this.width=w;//這是屬性
this.height=h;//這是屬性;?

this.area=function(){

????????????????return?this.width*this.height;
????????????};//這是方法(匿名函數(shù))

var?r=new?Rect(5,10);//r是對(duì)象;

對(duì)象的屬性訪問方式是Obj.屬性;

對(duì)象的方法訪問方式是Obj.方法();

方法必須加()才表示執(zhí)行。

所以應(yīng)該是:alert(r.area());

第二個(gè)問題:

可以使用this.area=this.width*this.height,甚至可以不要this.area這個(gè)方法,直接使用area = r.width*r.height;但是這樣做的好處是,如果我們不只是想得到這個(gè)面積,而且更多更復(fù)雜的運(yùn)算,那么用一個(gè)匿名方法肯定是更方便的。

查看完整回答
2 反對(duì) 回復(fù) 2016-12-09
  • Ni14
    Ni14
    謝謝你!但是如果改成this.area=this.width*this.height難道就不能用來求別的了嗎? this.width*this.height并沒有指定是r.width或者r.height. 我還沒有接觸到方法 所以不是特別理解,
  • 一瞬兒光
    一瞬兒光
    說了半天,你也沒理解我的意思。this是js中根據(jù)上下文指向?qū)ο蟊旧?,也就是你?shí)例化后的r對(duì)象。所以r.width就是你構(gòu)造函數(shù)里的this.width。你可以用this.area=this.width*this.height的方法,這樣寫沒錯(cuò)。但是復(fù)雜的運(yùn)算這樣寫不方便明白嗎,比如給定一個(gè)橢圓的參數(shù),你怎么求它的面積,這么寫是不是就不方便了。
  • Ni14
    Ni14
    把this.area=this.width*this.height用一個(gè)函數(shù)封裝起來就是為了如果再進(jìn)行其他運(yùn)算的時(shí)候,可以不用寫this.area=this.width*this.height這么一串??傊浅8兄x你的耐心講解!
?
xiangyunlcs

TA貢獻(xiàn)5條經(jīng)驗(yàn) 獲得超7個(gè)贊

r.area ?是調(diào)用屬性,后面加個(gè)()才是調(diào)用方法 ? ====》?alert(r.area())


查看完整回答
反對(duì) 回復(fù) 2016-12-09
?
bcp9527

TA貢獻(xiàn)4條經(jīng)驗(yàn) 獲得超0個(gè)贊

this.area返回的是一個(gè)function,你試試alert(r.area()); ?應(yīng)該就可以了

查看完整回答
反對(duì) 回復(fù) 2016-12-09
  • 3 回答
  • 0 關(guān)注
  • 1402 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)