JavaScript 之 核心語法 [ 運算符 ]

算數運算符

  • 算數運算符 - 表示對數據值進行計算
  • 加法運算符 - 寫法:加號 +函數

    • number類型的數據值,會正常進行計算
    • boolean類型的數據值,會先將類型轉換成number類型,而後在進行計算
    • string類型的數據值,沒法進行計算,他會將其餘類型都轉換成string類型,在進行字符串的拼接
/* 定義變量 */
var num = 10;
var str1 = '哦吼吼吼';
var str2 = '20';
var boo = true;

/* 加法運算 */
/* number類型進行計算 */
console.log( num + 100 );// 110
/* string類型進行計算 */
console.log( str1 + 100 );// 哦吼吼吼100
console.log( str2 + 100 );// 20100
/* 會將數據類型都轉換成string類型 */
console.log( typeof str1, typeof str2);// string
/* boolean類型進行計算 */
console.log( true + 100 );// 101
  • 減法運算符 - 寫法:減號 -code

    • 全部類型的運算都是與數學計算相同
    • 全部類型在計算中遇到NaN時,結果都是NaN
/* 定義變量 */
var num = 10;
var str1 = '哦吼吼吼';
var str2 = '20';
var boo = true;
/* 減法運算 */
console.log( num - 100 );// -90
console.log( str1 - 100 );// NaN
console.log( str2 - 100 );// -80
console.log( boo - 100 );// -99
  • 乘法運算符 - 寫法:星號 *字符串

    • 全部類型的運算都是與數學計算相同
    • 全部類型在計算中遇到NaN時,結果都是NaN
/* 定義變量 */
var num = 10;
var str1 = '哦吼吼吼';
var str2 = '20';
var boo = true;
/* 乘法運算 */
console.log( num * 100 );// 1000
console.log( str1 * 100 );// NaN
console.log( str2 * 100 );// 2000
console.log( boo * 100 );// 100
  • 除法運算符 - 寫法:斜槓 /數學

    • 全部類型的運算都是與數學計算相同
    • 全部類型在計算中遇到NaN時,結果都是NaN
    • 在除法運算時,若是被除數爲0,會獲得無窮大(Infinity)
/* 定義變量 */
var num = 10;
var str1 = '哦吼吼吼';
var str2 = '20';
var boo = true;
/* 除法運算 */
console.log( num / 100 );// 0.1
console.log( str1 / 100 );// NaN
console.log( str2 / 100 );// 0.2
console.log( boo / 100 );// 0.01
/* 被除數是 0 時,會獲得無窮大 */
console.log( 100/0 );// 無窮大 Infinity
  • 求餘運算符 - 寫法:百分號 %string

    • 表示獲取在除法計算後獲得的餘數
    • 餘數的正、負,與操做的第一個數值有關
/* 求餘運算 */
console.log(100 % 3);// 1
console.log(8 % 4);// 0
/* 餘數的正負 */
console.log(-100 % 3);// -1
console.log(8 % -4);// 0
  • 自增運算符 - 寫法:兩個加號 ++it

    • 表示當前的變量數值加1
    • 自增運算符能夠加在變量前面(++變量),定義方式:先增長,後賦值
    • 自增運算符也能夠加在變量後面(變量++),定義方式:先賦值,後增長
/* 定義變量 */
var num = 10;
var str1 = '哦吼吼吼';
var str2 = '20';
var boo = true;
/* 自增運算 */
/* 先自增,在賦值 */
var zizeng1 = ++num;
console.log( zizeng1 );// 11
console.log( num );// 11
/* 先賦值,在自增 */
var zizeng2 = num++;
console.log( zizeng2 );// 10
console.log( num );// 11
  • 自減運算符 - 寫法:兩個減號 --console

    • 表示當前的變量數值減1
    • 自增運算符能夠加在變量前面(--變量),定義方式:先自減,後賦值
    • 自增運算符也能夠加在變量後面(變量--),定義方式:先賦值,後自減
/* 定義變量 */
var num = 10;
var str1 = '哦吼吼吼';
var str2 = '20';
var boo = true;
/* 自減運算 */
/* 先自減,在賦值 */
var zijian1 = --num;
console.log( zijian1 );// 9
console.log( num );// 9
/* 先賦值,在自減 */
var zijian2 = num--;
console.log( zijian2 );// 10
console.log( num );// 9

比較運算符

  • 比較運算符 - 表示能夠對兩個數據值進行比較
  • 大於和小於變量

    • 大於 - 用法 ( > 、>= )
    • 小於 - 用法 ( < 、<= )
/* number類型 - 直接進行比較 */
console.log( 10 > 100 );// 顯示 false
console.log( 10 <= 10 );// 顯示 true
console.log( 10 < 100 );// 顯示 true
/* boolean類型 - 先將boolean類型轉換爲number類型,在進行比較 */
console.log( true > false );// 顯示 true
console.log( true < 0 );// false
/*
    string類型
     * 字符串中的數值是數字
      * 先將string類型轉換爲number類型,在進行比較
     * 字符串中的數值是字母或漢字
      * 字母或漢字 - 先將文本轉換成 Unicode碼,在經過 Unicode碼 所對應數字值來進行比較
      * 英文單詞 - 從左至右的依次比較字母 Unicode碼
 */
/* 字符串中的數值是數字 */
console.log( '100' > 10 );// 顯示 true
/* 字符串中的數值是字母 */
console.log('a' < 'b');// true
console.log('a' > 'A');// true
/* 字符串中的數值是單詞 */
console.log('abc' > 'cba');// false
console.log('abc' < 'acd');// true
  • 相等和不等數據類型

    • 相等 - 用法 ( == )
    • 不等 - 用法 ( != )
    • 只比較數值,不比較類型
/* numbe類型與string類型 */
console.log( 10 == '10' );// true
/* number類型與boolean類型 */
console.log( 1 == true );// true
/* string類型與boolean類型 */
console.log( '1' != true );// false
console.log( 10 != '10' );// false
  • 全等和不全等語法

    • 全等 - 用法 ( === )
    • 不全等 - 用法 ( !== )
    • 不只比較數值,也比較類型
/* numbe類型與string類型 */
console.log(10 === '10');// false
/* numbe類型與number類型 */
console.log(10 === 10);// true
/* numbe類型與string類型 */
console.log(10 !== '10');// true
/* numbe類型與number類型 */
console.log(10 !== 10);// false

邏輯運算符

  • 邏輯與運算符 - 用法 ( && )

    • 若是兩個變量數值都不是boolean值,須要先將類型轉換成boolean類型,在進行計算
    • 若是兩個變量的布爾值都爲false的話,結果爲左邊變量的值
    • 若是兩個變量的布爾值,一個是true一個是false的話,結果爲false的變量值
    • 若是兩個變量的布爾值都爲true的話,結果爲右邊變量的值
console.log( false && false );// 結果 false
console.log( true && false );// 結果 false
console.log( false && true );// 結果 false
console.log( true && true );// 結果 true
  • 邏輯或運算符 - 用法 ( || )

    • 若是兩個變量數值都不是boolean值,須要先將類型轉換成boolean類型,在進行計算
    • 若是兩個變量的布爾值都爲false的話,結果爲右邊變量的值
    • 若是兩個變量的布爾值,一個是true,一個是false,結果爲true的變量值
    • 若是兩個變量的布爾值都爲true的話,結果爲左邊變量的值
console.log( false || false );// 結果 false
console.log( true || false );// 結果 true
console.log( false || true );// 結果 true
console.log( true || true );// 結果 true
  • 邏輯非運算符 - 用法 ( ! )

    • 表示獲取數據值的相反值
console.log( !true );// 結果 false
console.log( !0 );// 結果 true
console.log( !'哦吼吼吼' );// 結果 false

條件運算符

  • 語法 條件表達式 ? 爲true的結果 : 爲false的結果
  • 對一個表達式進行判斷

    • true - 表示真
    • false - 表示假
  • 條件運算符能夠在其中在嵌套一個條件運算符
var s1 = 10;
/* 進行條件判斷 */
var n1 = s1 > 5 ? true : false;
console.log( n1 );// 結果 true
var s2 = 4;
/* 進行條件判斷 */
var n2 = s2 > 5 ? true : false;
console.log( n2 );// 結果 false

/* 條件運算符的嵌套 */
var s = 3;
var n = s > 7 ? true :( s > 5 ? true : false );
console.log( n );// 結果 false

判斷NaN和無窮大

  • isNaN()函數 - 判斷當前值是否爲 NaN

    • true - 表示當前值是 NaN
    • false - 表示當前值不是 NaN
console.log( isNaN( 100 ) );// 顯示結果 false
console.log( isNaN( Number( '啊哈哈' ) ) );// 顯示結果 true
  • isFinite()函數 - 判斷當前值是否爲無窮大

    • true - 表示當前值是有限數值(不是無窮大)
    • false - 表示當前值是無窮大
var num = 100/0;
console.log( num );// 顯示 Infinity - 無窮大
console.log( isFinite( result ) );// 顯示結果 false
相關文章
相關標籤/搜索