math對象,數據類型轉換,if else分支

一、math對象

 

方法 描述
ceil(x) 對數進行上舍入(天花板函數)
floor(x) 對數進行下舍入(地板函數)
max(x,y) 返回x,y最大值
min(x,y) 返回x,y最小值
pow(x,y) 返回x 的 y 次方
random() 返回0-1之間的隨機數 (不包含0和1)(僞隨機數,可能產生重複數值)
round(x) 四捨五入

Math.ceil(x) 結果爲向上最近的一個整數,沒有進行四捨五入dom

如:函數

var n4 = 3.3;
    var num = Math.ceil(n4); 
    alert(num);
結果爲 4

Math.floor(x) 結果爲向下最近的一個整數,沒有進行四捨五入spa

var n1 = 1.9;
    var num = Math.floor(n1);
結果爲  1
 
 // 返回數字的幾回方
    var n1 = 2;
    var n2 = 3;
    var num = Math.pow(n1, n2);
    alert(num);
 
 // 三、隨機返回1-10
    var n1 = Math.random() * 10;
    var n2 = Math.ceil(n1);
    alert(n2);

二、數據類型判斷

typeof可直接獲取變量數據類型對象

NaN也是一個number類型字符串

變量的取值爲null時, 變量的數據類型爲objectstring

Undefined取值的變量或者變量未賦值: 數據類型爲undefinedit

Infinity(無窮大): 數據類型屬於number類型table

三、數據類型轉換

(一)、字符串轉化爲數字類型

一、隱式類型轉化

只要將數字的字符串與0相減(參與運算均可,加法運算除外)class

二、強制類型轉換

Number() parseInt() parseFloat()變量

  • Number() 方式轉化:結果爲原來的數字,若是有非數字的字符(false,true除外),那麼轉化失敗,爲NaN。

  • ParseInt()方法轉化:從第一個字符開始判斷,遇到小數點或非數字類型,不日後讀取,保留的是整數部分, 若是後面跟有非數字的字符,能轉化成功,保留前面數字。只含有非字符則轉化失敗NaN

  • ParseFloat(): 仍是保留原來的數字,若是數字後面跟有非數字的字符,那麼轉化成功,保留數字。只含有非字符則轉化失敗NaN

(二)將數字類型轉換爲字符串類型

一、 隱式類型轉換

經過prompt方法能夠實現轉化或者將當前數字和一個字符串相加

二、 強制類型轉換(String(), 變量.tostring())

一、String()轉換

n1 = String(n1);

二、 .toString()轉換

n1 = n1.toString();

(三)將其餘數據類型轉換爲布爾類型

一、隱式轉換

var a=0 ; var b=!a; alert(b)

var a=1; var b=!a; alert(b)

二、強制類型轉換 :Boolean()

a = Boolean(a);

 

 案例:

 // 一、用戶輸入一個三位數,用程序計算三位數字的和。

    var n1 = prompt("請輸入三位數");
    // 百位數
    var n2 = parseInt(n1 / 100);
    var n3 = n2 * 10;
    // 十位數
    // var n4 = parseInt(n1 / 10 - n3);  //方法1
    var n4 = parseInt(n1 % 100 / 10); //方法二 取餘
    // 個位數
    // var n5 = n1 - (n2 * 100 + n4 * 10);//方法一
    var n5 = parseInt(n1 % 10);
    var num = n2 + n4 + n5;

    alert("個位數爲" + n5);
    alert("十位數爲" + n4);
    alert("百位數爲" + n2);
    alert("和爲" + num);
    alert(typeof (num));

四、 邏輯運算符

概念:邏輯運算符用於測定變量或值之間的邏輯

4.1 || 或

  • 若是有一個結果爲false 和一個結果爲true進行或運算 結果爲: true

  • 若是兩個結果都爲false , 或運算後結果爲false

  • 若是兩個結果都爲true,進行或運算後結果爲 true

4.2 && 且

  • 若是結果都爲true,且運算後結果爲true

  • 若是有一個結果爲false,且運算後結果爲false

  • 若是兩個結果都爲false,且運算後結果爲false

4.3 !非

若是爲true 非運算後 結果爲false

若是爲false 非運算後 結果爲true

 

 

注意:邏輯運算必須是兩個Boolean類型的數據進行 || && ! 運算

 

等號運算符,逗號運算符

運算符 含義
== 等於,比較的是內容
=== 全等,比較的是內容和數據類型
!= 不等於,判斷的是內容
!== 不全等於,判斷的是內容和數據類型

 

可用逗號隔開 如:

var a=5, b=6, c=7 ;

a=b+c, c=a+b ;

五、 If...else 條件分支

首先是一個「if」,它後面緊跟着一個括號,括號裏則是一個條件,確切地說是一個布爾類型的表達式。當條件成立的時候,這個值是true,if裏的語句將會獲得執行;不然這個值是flase,else裏的語句將被執行。

If(條件表達式) 條件表達式的結果必須爲Boolean

{

若是條件表達式的結果爲true,那麼執行這裏面的代碼

}

Else

{

若是條件表達式的結果爲false,那麼執行這裏面的代碼

}

 

 案例:

 // 二、接收用戶輸入的數字,判斷是否再20-70之間,若是在,請將數字輸出,不然提示不在該範圍內

    var n1 = prompt("請輸入數字");
    //字符串類型轉換爲數字類型
    n1 = parseInt(n1);
    //要用並集運算符
    if (20 <= n1 && n1 <= 70) {
        alert(n1);
    } else {
        alert("該數字不在範圍內");
    }
// 三、接收用戶輸入的值,該值和隨機產生的隨機數(0-99)做比較,若是用戶輸入的值大於隨機數,輸出您贏了,不然您輸了
    var n1 = prompt();
    n1 = Number(n1);
    var n2 = Math.random() * 99; //0到99
    if (n1 > n2) {
        alert("您贏了");
    } else {
        alert("您輸了");
    }

六、 If ...else if... else 嵌套

If(條件表達式)

{

結果爲true 執行該處代碼

}

else if(條件表達式)

{

結果爲true 執行該處代碼

}

else if(條件表達式)

{

結果爲true 執行該處代碼

}

else{

若是以上代碼條件都不知足,執行該處代碼

}

七、三元運算符

語法:條件表達式?結果1:結果2

含義:問號前面的位置是判斷的條件,判斷結果爲boolean型,爲true時執行結果1,爲false時執行結果2。


    // 寫一個程序,接收用戶輸入的三個數字,使用三元運算表達式找出最大值
    var n1 = prompt();
    var n2 = prompt();
    var n3 = prompt();

    n3 > (n1 > n2 ? n1 : n2) ? alert(n3) : alert(n1 > n2 ? n1 : n2);
相關文章
相關標籤/搜索