Js學(xué)習(xí)筆記_02 (運(yùn)算符)

Js的運(yùn)算符

  • JavaScript 算術(shù)運(yùn)算符(+ ,-, *, /, %, ++, --)
    1.取模運(yùn)算的結(jié)果符號(hào)只與左邊值的符號(hào)有關(guān)
var x = 7 % 3; // 結(jié)果為 1
var y = 7 % (-3); // 結(jié)果為 1
var z = (-7) % 3; // 結(jié)果為 -1
 如果 % 左邊的操作數(shù)是正數(shù),則模除的結(jié)果為正數(shù)或零;
 如果 % 左邊的操作數(shù)是負(fù)數(shù),則模除的結(jié)果為負(fù)數(shù)或零。
  • JavaScript 賦值運(yùn)算符 (= ,+= ,-=,*=,/=,%=)
  • JavaScript 比較運(yùn)算符 (== ,===,!= ,!==,> ,< ,<= ,>= )
  • 用于字符串的 + 運(yùn)算符
<script>
function myFunction()
{
    txt1="What a very ";
    txt2="nice day";
    txt3=txt1+txt2;
    document.getElementById("demo").innerHTML=txt3;
}
</script>
//結(jié)果為What a very nice day 注意very后面是有空格的

1.對(duì)字符串和數(shù)字進(jìn)行加法運(yùn)算

<script>
function myFunction()
{
    var x=5+5;
    var y="5"+5;
    var z="Hello"+5;
    var demoP=document.getElementById("demo");
    demoP.innerHTML=x + "<br>" + y + "<br>" + z;
}
</script>
//結(jié)果為10 55 Hello5

2.數(shù)字和布爾值相加,布爾值 false 轉(zhuǎn)成 0,true 轉(zhuǎn)成 1

var one=13;
var two=true;
var three=one+two;
// 結(jié)果 three:14

3.字符串與布爾值相加,布爾值轉(zhuǎn)化成字符串。
4.字符串與 null(空值) 相加,null 轉(zhuǎn)化為字符串:
var car=null+"a"; // 結(jié)果為 nulla
5.數(shù)字與 null(空值) 相加,null 轉(zhuǎn)化為數(shù)字 0:
var car=null+3+4; // 結(jié)果為7

  • 邏輯運(yùn)算符(&& ,|| ,!)
    首先說(shuō)明,其他數(shù)據(jù)類(lèi)型轉(zhuǎn)換為布爾類(lèi)型的規(guī)則: null、undefined、0、NaN、空字符串轉(zhuǎn)換為false,其他轉(zhuǎn)化為 true。
    1.取反
<script type="text/javascript">
var a = [1,2,3];
var b = "hello";
var obj = new Object();
var d;

console.log(!"");   //true
console.log(!d);    //true
console.log(!a);    //false
console.log(!b);    //false
console.log(!obj);  //false
</script>

2.邏輯與
JavaScript 中邏輯與和其他語(yǔ)言不太一樣,如果第一個(gè)操作數(shù)是 true(或者能夠轉(zhuǎn)為 true),計(jì)算結(jié)果就是第二個(gè)操作數(shù),如果第一個(gè)操作數(shù)是 false,結(jié)果就是 false(短路計(jì)算),對(duì)于一些特殊數(shù)值不遵循以上規(guī)則。(個(gè)人理解為:如果運(yùn)算的第一個(gè)操作數(shù)為true,則返回第二個(gè)操作數(shù),反之則返回第一個(gè)操作數(shù))

<script type="text/javascript">
var a = [1,2,3];
var b = "hello";
var obj = new Object();
var d;

console.log(true && 10);      //第一個(gè)操作數(shù)是true,結(jié)果是第二個(gè)操作,也就是10
console.log(false && b);        //第一個(gè)操作數(shù)是false,結(jié)果flase
console.log(100 && false);       //第一個(gè)操作數(shù)是100,結(jié)果flase
console.log(undefined && false);   //第一個(gè)操作數(shù)是undefined,結(jié)果undefined
console.log(NaN && false);          //第一個(gè)操作數(shù)是NaN,結(jié)果NaN
console.log(null && false);         //第一個(gè)操作數(shù)是null,結(jié)果null
console.log('' && false);           //第一個(gè)操作數(shù)是空串,結(jié)果空串
console.log(0 && 100);              //結(jié)果是0
console.log(5 && 100);              //100
console.log(a && b);                //hello
console.log(obj && 200);            //200
</script>

1.邏輯或
如果第一個(gè)操作數(shù)不是 false,結(jié)果就是第一個(gè)操作數(shù),否則結(jié)果是第二個(gè)操作數(shù)。如果第一個(gè)操作數(shù)能夠轉(zhuǎn)為 true,結(jié)果就是第一個(gè)操作數(shù)(個(gè)人理解為:如果運(yùn)算的第一個(gè)操作數(shù)為 true,則返回第一個(gè)操作數(shù),反之則返回第二個(gè)操作數(shù))

<script type="text/javascript">
var a = [1,2,3];
var b = "hello";
var obj = new Object();
var d;

console.log(true || 10);        //第一個(gè)操作數(shù)是true,結(jié)果是第一個(gè)操作,也就是true
console.log(false || b);        //第一個(gè)操作數(shù)是false,結(jié)果是第二個(gè)操作數(shù)b
console.log(100 || false);      //第一個(gè)操作數(shù)是100,結(jié)果100
console.log(undefined || 9);    //第一個(gè)操作數(shù)是undefined轉(zhuǎn)false,結(jié)果9
console.log(NaN || false);      //第一個(gè)操作數(shù)是NaN轉(zhuǎn)false,結(jié)果第二個(gè)操作數(shù)
console.log(null || a);         //第一個(gè)操作數(shù)是null轉(zhuǎn)false,結(jié)果a
console.log('' || false);       //第一個(gè)操作數(shù)是空串轉(zhuǎn)false,結(jié)果第二操作數(shù)
console.log(0 || 100);          //結(jié)果是100
console.log(5 || 100);          //5
console.log(a || b);            //a
console.log(obj || 200);        //obj
</script>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 第2章 基本語(yǔ)法 2.1 概述 基本句法和變量 語(yǔ)句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,195評(píng)論 0 13
  • 運(yùn)算符是處理數(shù)據(jù)的基本方法,用來(lái)從現(xiàn)有的值得到新的值。JavaScript 提供了多種運(yùn)算符,本章逐一介紹這些運(yùn)算...
    許先生__閱讀 616評(píng)論 0 3
  • 運(yùn)算符是處理數(shù)據(jù)的基本方法,用來(lái)從現(xiàn)有的值得到新的值。JavaScript 提供了多種運(yùn)算符,本章逐一介紹這些運(yùn)算...
    徵羽kid閱讀 699評(píng)論 0 0
  • 一、Java 簡(jiǎn)介 Java是由Sun Microsystems公司于1995年5月推出的Java面向?qū)ο蟪绦蛟O(shè)計(jì)...
    子非魚(yú)_t_閱讀 4,243評(píng)論 1 44
  • “速成”顧名思義是指迅速成功,這個(gè)幾乎不可能,,因?yàn)榻^大多數(shù)成績(jī)都需要時(shí)間的孕育,而時(shí)間可不會(huì)因?yàn)槟硞€(gè)人的意...
    吳治東_8b15閱讀 370評(píng)論 0 0