javascript每日必學(xué)之運(yùn)算符
讀者朋友們好,前面我已經(jīng)大概的了解了Javascript的作用以及一些基本的函數(shù)聲明與變量聲明,今天我們就接著前面的內(nèi)容講解,我們就來(lái)看一下javscript的邏輯(正序,分支,循環(huán))以及一些簡(jiǎn)單的運(yùn)算符
下面我們就來(lái)講一些簡(jiǎn)單的操作運(yùn)算符
- + 加號(hào):1.用來(lái)計(jì)算兩個(gè)數(shù)字相加之和,2.用來(lái)拼接兩個(gè)字符串
- - 減號(hào):1.用來(lái)計(jì)算兩個(gè)數(shù)字相減之差,2.用在一個(gè)數(shù)字前面來(lái)標(biāo)識(shí)成一個(gè)負(fù)數(shù)
- * 乘號(hào):用來(lái)計(jì)算兩具數(shù)字相乘之積
- / 除號(hào):用來(lái)計(jì)算被除數(shù)除以除數(shù)后,所得的商
- % 取余:用來(lái)計(jì)算被除數(shù)除以除數(shù)后,所得的余數(shù)(這里計(jì)算是整除,將取得整除后的余數(shù))
- = 賦值:用來(lái)把一個(gè)值(可以是對(duì)象,函數(shù),數(shù)字,字符串,布爾)賦值給一個(gè)變量
在這里,我們可以清楚地看到運(yùn)算符把運(yùn)算的的結(jié)果給顯示了出來(lái),加 減 乘 除 我就不用再贅述贅述,相信大家的計(jì)算能應(yīng)該都比我好,因?yàn)槲抑皇侵袑W(xué)畢業(yè)而已,稍微要多說(shuō)一點(diǎn)的就是取余運(yùn)算,看到上面的例子 5%2 取余得1,是這樣計(jì)算的,5÷ 2 = 2 …… 1 ,這個(gè)在小學(xué)二年級(jí)就應(yīng)該看到過的計(jì)算吧,被除數(shù) ÷ 除數(shù) = 商…… 余數(shù),這個(gè)余數(shù)就是取余操作的結(jié)果,還要就是昨天已經(jīng)提及過的等于符號(hào),就是用來(lái)賦值的 var temp = 值; 我們用var 關(guān)鍵字來(lái)聲明變量,用 = 來(lái)給你賦值,值 的類型可以是對(duì)象,函數(shù),數(shù)字,字符串,布爾;前面已經(jīng)給大家說(shuō)了,函數(shù)是什么,就是用function來(lái)聲明的一個(gè)函數(shù)體,那就是函數(shù),數(shù)字不用說(shuō)吧,字符串,就用引號(hào)包含的一串字符串,布爾值,就是只有兩個(gè)值的一種類型,true 和 false,沒有第三種。
接一來(lái)我們來(lái)看一下各種值的樣子吧
//這里我們給了一個(gè)空對(duì)象(null) var temp_1 = null; //這里我們給一個(gè)函數(shù) var temp_2 = function(){ console.log("Write Something"); }; //這里我們給了一個(gè)字符串 var temp_3 = "My name is MrDream"; //這里我們給了一個(gè)boolean值 var temp_4 = true;
這些基本操作,大家應(yīng)該是一目了然,希望讀者朋友看到這些基礎(chǔ)的東西時(shí)候,現(xiàn)在不要著急,現(xiàn)在我們還處于入門介紹講解階段,所以這些基礎(chǔ)的東西,大家必須要明白,到后面的文章,我還會(huì)講更多的東西,不然,基礎(chǔ)不打好,后面,我講一些你們到時(shí)候覺得牛逼的東西時(shí),你們?nèi)绻荒苣萌?fù)制代碼使用就沒有意思,不能自主寫出一些自己想要的的東西。
下面我們?cè)賮?lái)進(jìn)一步理解一下運(yùn)算符的小小升級(jí)后是什么樣的?(注:目前,我只說(shuō)一些基本的運(yùn)算符,還有一些特殊的運(yùn)算符,后面我會(huì)在一些應(yīng)用中講解,到時(shí)候理解才更深刻)
- += 加等:先把兩個(gè)操作對(duì)象進(jìn)行相加運(yùn)算,然后再把相加后的值賦值給第一個(gè)操作對(duì)象
- -= 減等:先把兩個(gè)操作對(duì)象進(jìn)行相減運(yùn)算,然后再把相加后的值賦值給第一個(gè)操作對(duì)象
- *= 乘等:先把兩個(gè)操作對(duì)象進(jìn)行相乘運(yùn)算,然后再把相加后的值賦值給第一個(gè)操作對(duì)象
- /= 除等:先把兩個(gè)操作對(duì)象進(jìn)行相除運(yùn)算,然后再把相加后的值賦值給第一個(gè)操作對(duì)象
- %= 余等:先把兩個(gè)操作對(duì)象進(jìn)行取余運(yùn)算,然后再把相加后的值賦值給第一個(gè)操作對(duì)象
再來(lái)一些與簡(jiǎn)單的比較判斷運(yùn)算符
- == 等于:判斷運(yùn)算符兩邊的對(duì)象是否相等
- === 絕對(duì)等于:判斷運(yùn)算符兩邊的對(duì)象是否絕對(duì)相等
- !== 絕對(duì)不等于:判斷運(yùn)算符兩邊的對(duì)象是否絕對(duì)不相等
- != 不等于:判斷運(yùn)算符兩邊的對(duì)象是否不相等
- || 或者(或):首先判斷運(yùn)算符左右兩邊的對(duì)象是否為"非空對(duì)象或者非未定義對(duì)象",如果兩個(gè)都是,就返回右為值,如果有一個(gè)值不是,就返回不是那個(gè)值
- && 并且(與):首先判斷運(yùn)算符左右兩邊的對(duì)象是否為"非空對(duì)象或者非未定義對(duì)象",如果兩都不是,就返回右邊值,如果有一個(gè)值是,就返回是的那個(gè)值,如果兩個(gè)都是,就返回左邊那個(gè)。
- ! 取反(非):把一個(gè)值轉(zhuǎn)換成布爾值后,再取反
(注:這里提及到的 或者,并且,取反 運(yùn)算符,我是用大家一般的理解邏輯去講的,其實(shí)內(nèi)部操作,是涉及到二進(jìn)制的 或 與 非 運(yùn)算產(chǎn)生的結(jié)果,我們面說(shuō)到二進(jìn)制的時(shí)候再詳說(shuō))下面我們看一些示例
下面就講一點(diǎn)或與非的操作,理解上就多了一點(diǎn)難度了
看圖說(shuō)話,A處,因?yàn)檫\(yùn)算符左邊未定義對(duì)象,所以返回 右邊的值;B處,因?yàn)樽筮吺强諏?duì)象,所以返回右邊的值;C處,因?yàn)樽筮呌袑?shí)在的值 數(shù)字123,所以返回123;D處因?yàn)樽筮吺菍?shí)在的值 數(shù)字-1,所以返回左邊的值。補(bǔ)充一條:數(shù)0也是個(gè)特殊值,如果左邊是0,那么就會(huì)返回右為的值。
小結(jié)一下或操作符的作用:就用來(lái)查看運(yùn)算符左右兩邊是否是 未定義值,空值,0,false,如果左邊是這些值,就返回右邊的值,如果左邊不是這些類型的值,就返回左邊的值。
接著與操作
仍然看圖說(shuō)話,A處:左右分別為未定義對(duì)象和空對(duì)象,返回左邊的值;B處左邊是空對(duì)象,所以返回左邊;C處:右邊是未定義對(duì)象,所以返回右邊值;D處:與C處同理;E處:兩都是非空對(duì)象,左邊的布爾值是true,所以返回右邊;F處與E處同理;G處:因?yàn)樽筮吺?,與未定義對(duì)象,空對(duì)象以及false同級(jí),所以返回左邊值。
最后一個(gè)就是非操作
繼續(xù)看圖說(shuō)話,A處:操作是0 false null 未定義之類的值,取返,就獲得了布爾值的true;B處:都是對(duì)實(shí)實(shí)在在的值取反操作,獲得的主是布爾值false。我們可以總結(jié)出,取反獲得的就是布爾值,不實(shí)際的值取反就是正確,實(shí)際的值取反就是錯(cuò)誤。
好了,今天就寫到這里,總結(jié)一下,今天,其實(shí)也就講了一些很基本的運(yùn)算符,但是運(yùn)算符的個(gè)數(shù)有點(diǎn)多,所以還是寫了這么對(duì),才將其表述完,還有一些特殊的操作符,我們以后再說(shuō),只要每天進(jìn)步一點(diǎn)點(diǎn),成就一代大神也不是夢(mèng)。
- javascript中return,return true,return false三者的用法及區(qū)別
- js中各種類型的變量在if條件中是true還是false
- JavaScript中為什么null==0為false而null大于=0為true(個(gè)人研究)
- JavaScript位移運(yùn)算符(無(wú)符號(hào)) >>> 三個(gè)大于號(hào) 的使用方法詳解
- 詳解JavaScript邏輯Not運(yùn)算符
- 詳解JavaScript的表達(dá)式與運(yùn)算符
- javascript 中的 delete及delete運(yùn)算符
- 淺談JavaScript中運(yùn)算符的優(yōu)先級(jí)
- JS中的==運(yùn)算: [''''] == false —>true
相關(guān)文章
a標(biāo)簽置灰不可點(diǎn)擊的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇a標(biāo)簽置灰不可點(diǎn)擊的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2017-02-02js實(shí)現(xiàn)簡(jiǎn)單的二級(jí)聯(lián)動(dòng)效果
本文主要介紹了js實(shí)現(xiàn)簡(jiǎn)單的二級(jí)聯(lián)動(dòng)效果的實(shí)例,具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-03-03JavaScript比較當(dāng)前時(shí)間是否在指定時(shí)間段內(nèi)的方法
這篇文章主要介紹了JavaScript比較當(dāng)前時(shí)間是否在指定時(shí)間段內(nèi)的方法,涉及javascript時(shí)間與字符串的轉(zhuǎn)換及比較操作相關(guān)技巧,需要的朋友可以參考下2016-08-08js數(shù)字轉(zhuǎn)換為float,取N位小數(shù)
在javascript中不分單精度f(wàn)loat和雙精度double,凡事有小數(shù)的變量都認(rèn)為是float,因此要取小數(shù)后的n位,要用方法toFixed(n)來(lái)得到2014-02-02