最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

無名殺代碼教程 00.8

2021-08-25 15:56 作者:玩大師4的醒醒  | 我要投稿

這次還是講函數(shù),畢竟這是js的核心。網(wǎng)頁里面有html js css,其中js是賦予網(wǎng)頁交互能力的。


函數(shù)function,也可以翻譯成"功能"。目的就是為了實現(xiàn)某種功能的。一種函數(shù)只干一種活。


要干活嘛,需要2步:

1.這個活,該咋干

2.找誰干


例如player.getDamagedHp,這是計算已損失體力的函數(shù)


這個函數(shù)在game.js.里面可以找到。


getDamagedHp:function(){

return this.maxHp-Math.max(0,this.hp);

},


代碼很簡單,只有一句,意思是:返回這個的體力上限與這個的體力之間的差值(體力至少為0)


那么,就很清楚了,這個活很簡單,就算計算一個減法就行了。


下一步是找個人干這個活。


var num=player.getDamagedHp();


找player干這個活,計算這個的已損失體力。this我翻譯成"這個的",this代表這個函數(shù)的對象,也就是.getDamagedHp前面的部分。找誰干這個活,誰就是這個函數(shù)的對象。


如果是

var num=target.getDamagedHp();

就是target在干這個活了。


/**? 這里的不需要掌握

有沒有辦法讓本來給A干的活,交給B來干呢?有!


var num=player.getDamagedHp.apply(target);


每個函數(shù)都有apply方法,里面可以填2個參數(shù),第一個參數(shù)是指定一個人來干這個活,第二個參數(shù)是這個函數(shù)的參數(shù)列表,要求是數(shù)組類型

*/


有沒有復雜一點的活呢?肯定有。

例如player.addTempSkill,這是添加臨時技能的函數(shù),源代碼就不貼出來了。


這個函數(shù)比之前的getDamagedHp復雜之處在于,它需要2個參數(shù),第一個是技能名,第二個是移除技能時機。(第二個參數(shù)可以不填,默認當前回合結(jié)束)


也就是說,這個活復雜點,需要提供這兩個材料才能開工,不然就是巧婦難為無米之炊。


player.addTempSkill("zhiheng");

//直到結(jié)束階段獲得技能"制衡"


但要注意,參數(shù)有順序要求,不能顛倒。參數(shù)有取值要求,填了錯誤的數(shù)據(jù)會報錯。(事件函數(shù)為了初學者方便,不關(guān)心參數(shù)順序)


//----------分割線-----------//

有些函數(shù)不需要人來干(系統(tǒng)來干)

alert("皮一下,真開心!");

var num=parseInt("123");


還要注意一點,不是你的活,大部分不能干。

例如:

game.getDamagedHp();

這就是錯誤的!game沒有g(shù)etDamagedHp這個活,不會干。


*那么,不會可以學嗎?可以,這屬于超綱內(nèi)容,就不講了。


最后,講下boolean邏輯類型

這個類型只有true和false兩個值,那這個類型是不是沒卵用呢?不是。


邏輯也是可以計算的。下面講下邏輯運算符

&&? 意思是'且'。只有兩邊都是true,整個的結(jié)果才是true

if(3>2 && 2>1)alert("這個世界是正常的");


||? 意思是'或'。只有兩邊都是false,整個的結(jié)果才是false

if(3<2 || 2<1)alert("這個世界是誰設(shè)計的?");


!? 意思是'非'。用于把原來的值變成相反的值。

if(!player.isAlive())alert("人被殺,就會死。");


前面2個例子不建議這么寫,這種3>2的判斷,稱作"死代碼",直接寫個true就行了。


這3種運算符混用,怎么計算?

!a && b || c


等價于(!a&&b)||c

等價于((!a)&&b)||c


其實不用刻意去記,到時候加括號就行了。


邏輯運算的短路

如果是"且"邏輯,第一個條件就是false了,第2個條件看都不用看,整個的結(jié)果就是false

(后面的判斷或函數(shù)調(diào)用都不會執(zhí)行)


A:綠茶婊是那種長得漂亮...

B:你不是

A:我還沒說完,是那種長得漂亮...

B:你不是


"或"邏輯,第一個條件是true就不要看了,整個結(jié)果是true


A:來找工作啊,我們的條件是...

B:我是法國人

A:你被錄用了


好了這篇專欄就到這里了,字數(shù)很多,玩了點梗。希望大家能有所收獲。














無名殺代碼教程 00.8的評論 (共 條)

分享到微博請遵守國家法律
安福县| 丹凤县| 琼中| 荆门市| 绍兴市| 邹城市| 布尔津县| 新和县| 民勤县| 石狮市| 康保县| 定陶县| 富锦市| 阿合奇县| 丹东市| 沾益县| 科技| 菏泽市| 兖州市| 绩溪县| 叙永县| 泾阳县| 沧州市| 黄梅县| 尼勒克县| 铜川市| 垦利县| 西昌市| 亳州市| 德州市| 寻乌县| 巴南区| 抚顺市| 迭部县| 彝良县| 东源县| 织金县| 柳州市| 怀集县| 黄石市| 沂源县|