web前端 --- JavaScrip基礎

avaScrip基礎

  • JavaScrip簡介

  • 第一個JavaScrip代碼

  • 數據類型

  • 運算符

  • 數據類型轉換

  • 流程控制

  • 經常使用內置對象

1、JavaScrip簡介

1.JavaScrip歷史背景介紹

  

  布蘭登 • 艾奇(Brendan Eich,1961年~),1995年在網景公司,發明的JavaScript。javascript

  一開始JavaScript叫作LiveScript,可是因爲當時Java這個語言特別火,因此爲了傍大牌,就更名爲JavaScript。css

  同時期還有其餘的網頁語言,好比VBScript、JScript等等,可是後來都被JavaScript戰勝了,因此如今的瀏覽器中,只運行一種腳本語言就是JavaScript。html

2.JavaScrip和ECMAScript的關係

  ECMAScript是一種由Ecma國際(前身爲歐洲計算機制造商協會,英文名稱是European Computer Manufacturers Association)制定的標準。前端

  JavaScript是由公司開發而成的,問題是不便於其餘的公司拓展和使用。因此歐洲的這個ECMA的組織,牽頭制定JavaScript的標準,取名爲ECMAScript。java

  簡單來講,ECMAScript不是一門語言,而是一個標準。符合這個標準的比較常見的有:JavaScript、Action Script(Flash中用的語言)。就是說,你JavaScript學完了,Flash中的程序也就垂手可得了。python

  ECMAScript在2015年6月,發佈了ECMAScript 6版本,語言的能力更強(也包含了不少新特性)。可是,瀏覽器的廠商不能那麼快去追上這個標準。程序員

3.JavaScrip的發展:蒸蒸日上

  來看三個網站感覺下網頁技術的發展: es6

  http://2004.sina.com.cn/web

  http://2008.sina.com.cn/數據庫

  http://2012.sina.com.cn/

  2003年以前,JavaScript被認爲「牛皮鮮」,用來製做頁面上的廣告,彈窗、漂浮的廣告。什麼東西讓人煩,什麼東西就是JavaScript開發的。因此瀏覽器就推出了屏蔽廣告功能。

  2004年,JavaScript命運開始改變,那一年,谷歌公司開始帶頭使用Ajax技術,Ajax技術就是JavaScript的一個應用。而且,那時候人們逐漸開始提高用戶體驗了。Ajax有一些應用場景。好比,當咱們在百度搜索框搜文字時,輸入框下方的智能提示,能夠經過Ajax實現。好比,當咱們註冊網易郵箱時,可以及時發現用戶名是否被佔用,而不用調到另一個頁面。

  2007年喬布斯發佈了第一款iPhone,這一年開始,用戶就多了上網的途徑,就是用移動設備上網。

  JavaScript在移動頁面中,也是不可或缺的。而且這一年,互聯網開始標準化,按照W3C規則三層分離,JavaScript愈來愈被重視。

  2010年,人們更加了解HTML5技術HTML5推出了一個東西叫作Canvas(畫布),工程師能夠在Canvas上進行遊戲製做,利用的就是JavaScript。

  2011年,Node.js誕生,使JavaScript可以開發服務器程序了。

  現在,WebApp已經很是流行,就是用網頁技術開發手機應用。手機系統有iOS、安卓。好比公司要開發一個「攜程網」App,就須要招聘三隊人馬,好比iOS工程師10人,安卓工程師10人,前端工程師10人。共30人,開發成本大;並且若是要改版,要改3個版本。如今,假設公司都用web技術,用html+css+javascript技術就能夠開發App。也易於迭代(網頁一改變,全部的終端都變了)。

  雖然目前WebApp在功能和性能上的體驗遠不如Native App,可是「WebApp慢慢取代Native App」頗有多是將來的趨勢。

4.JavaScrip入門易學性

  JavaScript對初學者比較友好;

  JavaScript是有界面效果的(好比C語言只有白底黑字);

  JavaScript是弱變量類型的語言,變量只須要用var來聲明。而Java中變量的聲明,要根據變量的類型來定義;

5.JavaScrip是前臺語言

  JavaScrip是前臺語言,而不是後臺語言;

  JavaScript運行在用戶的終端網頁上,而不是服務器上,因此咱們稱爲「前臺語言」。JavaScript就是一個簡單的製做頁面效果的語言,就是服務於頁面的交互效果、美化、絢麗、不能操做數據庫。

  後臺語言是運行在服務器上的,好比PHP、ASP、JSP等等,這些語言都可以操做數據庫,都可以對數據庫進行「增刪改查」操做。Node.js除外。

6.JavaScrip的組成

  JavaScript基礎分爲三個部分:

    ECMAScript:JavaScript的語法標準。包括變量、表達式、運算符、函數、if語句、for語句等;

    DOM:操做網頁上的元素的API。好比讓盒子移動、變色、輪播圖等;

    BOM:操做瀏覽器部分功能的API。好比讓瀏覽器自動滾動;

  PS:JS機械重複性的勞動幾乎爲0,基本都是創造性的勞動。而不像HTML、CSS中margin、padding都是機械重複勞動;

7.JavaScrip的特色

  簡單易用:可使用任何文本編輯工具編寫,只須要瀏覽器就能夠執行程序;

  解釋執行(解釋語言):事先不編譯、逐行執行、無需進行嚴格的變量聲明;

  基於對象:內置大量現成對象,編寫少許程序能夠完成目標;

2、第一個JavaScrip代碼

  在頁面中,咱們能夠在body標籤中放入<script type=」text/javascript」></script>標籤對兒,<script type=」text/javascript」></script>標籤對兒;

<script type="text/javascript">

</script>

1. alert語句

  alert(英文翻譯爲「警報」)的用途:彈出「警告框」

<script type="text/javascript">
       alert("燈火闌珊");
</script>

  效果:

  

2.語法規則

A. JavaScrip對換行、縮進、空格不敏感。

  備註:每一條語句末尾要加上分號,雖然分號不是必須加的,可是爲了程序從此要壓縮,若是不加分號,壓縮以後將不能運行。

B. 全部的符號,都是英語的,好比括號、引號、分號;

C. JavaScrip的註釋:

單行註釋:
// 我是註釋

多行註釋:
/*
    多行註釋1
    多行註釋2
*/

3.JavaScrip在網頁中輸出信息的寫法

3.1 彈出警告框:

  alert(" 燈火闌珊 ")

3.2控制檯輸出:

  console.log("燈火闌珊")

  console.log("")表示在控制檯中輸出。console表示「控制檯」,log表示「輸出」。

  控制檯在Chrome瀏覽器的F12中。控制檯是工程師、程序員調試程序的地方。程序員常用這條語句輸出一些東西,來測試程序是否正確。

4.用戶輸入(prompt()語句)

  prompt()就是專門用來彈出可以讓用戶輸入的對話框。

  代碼以下:

<script type="text/javascript">
        // alert("燈火闌珊");
        // console.log("燈火闌珊123");
        var st = prompt("口令:天王蓋地虎");
        console.log(st)
        // var a = 100;
        // console.log(a + 1);
        // console.log(typeof (parseInt("5")))
    </script>

  效果:

  

  上方代碼中,用戶輸入的內容,將被傳遞到變量 st 裏面。

  prompt()語句中,用戶無論輸入什麼內容,都是字符串。(就像python中的input語句)

   alert和prompt的區別:

alert("從前有座山");                //直接使用,不須要變量
var a = prompt("請輸入一個數字");   // 必須用一個變量,來接收用戶輸入的值

5.直接量:數字和字符串

「直接量」即常量,也稱爲「字面量」。看見什麼,它就是什麼。

簡單的直接量有2種:數字、字符串。

A.數值的直接量的表達很是簡單,寫上去就好了,不須要任何的符號。例如:

alert(886);  //886是數字,因此不須要加引號。

B.字符串也很簡單,但必定要加上引號。能夠是單詞、句子等。

alert("www.dhlanshan.cn")

6.變量

6.1變量的定義和賦值

  var a = 100;

var是英語「variant」變量的縮寫。後面要加一個空格,空格後面的東西就是「變量名」,

  定義變量:var就是一個關鍵字,用來定義變量。所謂關鍵字,就是有特殊功能的小詞語。關鍵字後面必定要有空格隔開;

  變量的賦值:等號表示賦值,將等號右邊的值,賦給左邊的變量;

  變量名:咱們能夠給變量任意的取名字;

PS:在JavaScript中,永遠都是用var來定義變量,這和C、Java等語言不一樣;

變量要先定義,才能使用。好比,咱們不設置變量,直接輸出:

<script type="text/javascript">
        console.log(a);
  </script>

控制檯將會報錯:

正確寫法:

  var a;   // 定義
    a = 100;  //賦值
    console.log(a);  //輸出100

有經驗的程序員,會把定義和賦值寫在一塊兒:

var a = 100;    //定義,而且賦值100
console.log(a);  //輸出100

6.2變量的命名規範

變量名有命名規範:只能由英語字母、數字、下劃線、美圓符號$構成,且不能以數字開頭,而且不能是JavaScript保留字。

下列的單詞,叫作保留字,就是不容許當作變量名,不用記:

abstract、booleanbytechar、class、const、debuggerdouble、enum、export、extends、final、float、goto
implements、import、int、interface、long、native、package、private、protected、public、short、static、super、synchronized、throws、transient、volatile

大寫字母是可使用的,而且大小寫敏感。也就是說A和a是兩個變量;

  var A = 250;    //變量1
  var a = 888;    //變量2

6.3變量的類型

變量裏面可以存儲數字、字符串等。變量會自動的根據存儲內容的類型不一樣,來決定本身的類型。

6.3.1數值型(number):

若是一個變量中,存放了數字,那麼這個變量就是數值型的;

    var a = 100;            //定義了一個變量a,而且賦值100
    console.log(typeof a);  //輸出a變量的類型

typeof()表示「獲取變量的類型」,語法爲:

typeof 變量

在JavaScript中,只要是數,就是數值型(number)的。不管整浮、浮點數(即小數)、不管大小、不管正負,都是number類型的。

 6.3.2字符串型(string):

var a = "abcde";
    var b = "燈火闌珊";
    var c = "123123";
    var d = "哈哈哈哈哈";
    var e = "";     //空字符串

    console.log(typeof a);
    console.log(typeof b);
    console.log(typeof c);
    console.log(typeof d);
    console.log(typeof e);

6.3.3連字符和加號的區別

鍵盤上的+多是連字符,也多是數字的加號。以下:

   console.log("我" + "愛" + "你");   //連字符,把三個獨立的漢字,鏈接在一塊兒了
   console.log("我+愛+你");           //原樣輸出
   console.log(1+2+3);             //輸出6

總結:若是加號兩邊都是數值,此時是加。不然,就是連字符(用來鏈接字符串)。

6.4變量的傳遞(賦值)

語句:

 a = b;

把b的值賦給a,b不變。

將等號右邊的值,賦給左邊的變量;等號右邊的變量,值不變。

舉個特殊的例子:

        var a = "3";
        var b = 2;
        console.log(a-b); // 結果爲1
        var a = "3";
        var b = 2; console.log(a+b); // 結果爲"32"

小結:字符串和數字相加 = 字符串和數字拼接,結果屬性爲字符串;字符串和數字相減 = 字符串和數字作減法,結果屬性爲number;

6.5變量格式轉換

6.5.1用戶的輸入

咱們在上面的內容裏講過,prompt()就是專門用來彈出可以讓用戶輸入的對話框。重要的是:用戶無論輸入什麼,都是字符串。

6.5.2parseInt():字符串轉數字

parseInt()能夠將字符串轉數字。parse表示「轉換」,Int表示「整數」(注意Int的拼寫)。例如:

字符串轉數字的方法:

parseInt(「5」);

parseInt()還具備如下特性

A.帶有自動淨化的功能;只保留字符串最開頭的數字,後面的中文自動消失。例如:

console.log(parseInt("2018你真帥!!");  //結果爲2018

B.自動帶有截斷小數的功能:取整,不四捨五入;

var a = parseInt(5.8) + parseInt(4.7);
console.log(a);  //結果爲9
 var a = parseInt(5.8 + 4.7);
 console.log(a); //結果爲10

3、數據類型

數據類型包括:基本數據類型和引用數據類型

基本數據類型指的是簡單的數據段,引用數據類型指的是有多個值構成的對象。

當咱們把變量賦值給一個變量時,解析器首先要確認的就是這個值是基本類型值仍是引用類型值

1.基本數據類型

A.number

var a = 123;
//typeof 檢查當前變量是什麼數據類型
console.log(typeof a)
//特殊狀況
var a1 = 5/0;
console.log(typeof e1) //Infinity 無限大. number類型

B.string

var str  = '123'
console.log(typeof str)

C.boolean

var b1 = false;
console.log(typeof b1)

D.null

var c1 = null;//空對象. object
console.log(c1)

E.undefined

var d1;
//表示變量未定義
console.log(typeof d1)

2.引用數據類型

  • Function
  • Object
  • Arrray
  • String
  • Date

本章第七節說

4、運算符

js中的運算符跟python中的運算符有點相似,但也有不一樣。所謂運算,在數學上,是一種行爲,經過已知量的可能的組合,得到新的量。

1.賦值運算符

以var x = 12,y=5來演示示例

2.算術運算符

var a = 5,b=2

3.比較運算符

var x = 5;

4.特殊狀況

字符串拼接+字符串運算 特殊狀況。python中有拼接字符串中更簡便的辦法,其實在js中也有,你們能夠百度引擎搜索es6模板字符串。(擴展)

var  firstName  = '小';
var lastName = '馬哥';
var name = '伊拉克';
var am = '美軍';
// 字符串拼接
var str = "2003年3月20日,"+name+"戰爭爆發,以美軍爲主的聯合部隊僅用20多天就擊潰了薩達姆的軍隊。這是繼十多年前的海灣戰爭後,"+am+"又一次取得的大規模壓倒性軍事勝利。"
var fullStr = str;
console.log(fullStr)

var fullName = firstName +" "+ lastName;
console.log(fullName)
例子
// 不能對字符串進行+運算 只能拼接
var a1 = '1';
var a2 = '2';
console.log(a1-a2) //12
var b1 = 'one';
var b2  = 'two';

// NaN. ==== not a number 是number類型
console.log(typeof(b1*b2))
<script>

        /*

        2003年3月20日,伊拉克戰爭爆發,以美軍爲主的聯合部隊僅用20多天就擊潰了薩達姆的軍隊。這是繼十多年前的海灣戰爭後,美軍又一次取得的大規模壓倒性軍事勝利

        */

        
        var name = '伊拉克';
        var am = '美軍';
        // 字符串拼接
        // var str = "2003年3月20日,"+name+"戰爭爆發,以美軍爲主的聯合部隊僅用20多天就擊潰了薩達姆的軍隊。這是繼十多年前的海灣戰爭後,"+am+"又一次取得的大規模壓倒性軍事勝利。";
        // var str = "2003年3月20日,"+name+"戰爭爆發,以美軍爲主的聯合部隊僅用20多天就擊潰了薩達姆的軍隊。這是繼十多年前的海灣戰爭後,美軍又一次取得的大規模壓倒性軍事勝利";

        // ***** es6的模塊字符串 tab鍵上面的反引號 `` 添加變量使用${變量名}*****
        var str = `2003年3月20日,${name}戰爭爆發,以${am}爲主的聯合部隊僅用20多天就擊潰了薩達姆的軍隊。這是繼十多年前的海灣戰爭後,美軍又一次取得的大規模壓倒性軍事勝利。`;
經過${變量名}來拼接

5、數據類型的轉換

語言中咱們的數據類型有不少,在某個頁面中展現的數據類型也不一樣,好比說電話號碼我就要求number的類型,而輸入姓名的時候就要求string類型的。那麼在適當的狀況下咱們能夠將數據類型進行轉換。

1.將數值類型轉換成字符串類型

隱式轉換:

var n1 = 123;
var n2 = '123';
var n3 = n1+n2;
// 隱式轉換
console.log(typeof n3);

強制類型轉換:

// 強制類型轉換String(),toString()
var str1 = String(n1);
console.log(typeof str1);

var num = 234;
console.log(num.toString())

2.將字符串類型轉換成數值類型

var  stringNum = '789.123wadjhkd';
var num2 =  Number(stringNum);
console.log(num2)

// parseInt()能夠解析一個字符串 而且返回一個整數
console.log(parseInt(stringNum))
console.log(parseFloat(stringNum));

3.任何數據類型均可以轉換成boolean類型

var b1 = '123';
var b2 = 0;
var b3 = -123

var b4 = Infinity; 
var b5 = NaN;

var b6; //undefined
var b7 = null;

// 非0既真
console.log(Boolean(b7))

6、流程控制

1. if 分支語句;

var ji  = 20;
if(ji >= 20){
    console.log('恭喜你,吃雞成功,大吉大利')
}
alert('alex');//下面的代碼還會執行
var ji  = 20;
if(ji>=20){
    console.log('恭喜你,吃雞成功,大吉大利')
}else{
    console.log('很遺憾 下次繼續努力')

}
if (true) {
   //執行操做
}else if(true){
    //知足條件執行            
}else if(true){
   //知足條件執行        
}else{
  //知足條件執行
}

2. 邏輯與(&&)、邏輯或(||)

//1.模擬  若是總分 >400 而且數學成績 >89分 被清華大學錄入
//邏輯與&& 兩個條件都成立的時候 才成立
if(sum>400 && math>90){
    console.log('清華大學錄入成功')
}else{
    alert('高考失利')
}
//2.模擬 若是總分>400 或者你英語大於85 被複旦大學錄入
//邏輯或  只有有一個條件成立的時候 才成立
if(sum>500 || english>85){
    alert('被複旦大學錄入')
}else{
    alert('高考又失利了')
}

3. switch

var gameScore = 'better';

switch(gameScore){

//case表示一個條件 知足這個條件就會走進來 遇到break跳出。break終止循環。若是某個條件中不寫 break,那麼直到該程序遇到下一個break中止
    case 'good':
    console.log('玩的很好')
    //break表示退出
    break;
    case  'better':
    console.log('玩的老牛逼了')
    break;
    case 'best':
    console.log('恭喜你 吃雞成功')
    break;

    default:
    console.log('很遺憾')

}

4.while循環

  a.初始化循環變量

  b.判斷循環條件

  c.更新循環變量

var i = 1; //初始化循環變量

while(i<=9){ //判斷循環條件
    console.log(i);
    i = i+1; //更新循環條件
}
<body>
    <script type="text/javascript">
        var i = 1;
        while (i<101){
            if (i%2 == 0){
                console.log(i);
            }
            i++;
        }
    </script>
</body>
練習:將1-100全部是2的倍數在控制檯中打印。使用while循環

5.do while

//無論有沒有知足while中的條件do裏面的代碼都會走一次
var i = 3;//初始化循環變量
do{

    console.log(i)
    i++;//更新循環條件

}while (i<10) //判斷循環條件

6.for循環

for(var i = 1;i<=10;i++){
     console.log(i)
 }
for(var i = 1;i<=100;i++){
    if(i%2==0){
        //是偶數
        console.log(i)
    }
}
課堂練習:for循環實現100內能整除2的數字
<body>
    <script type="text/javascript">
        var num = 0;
        for(var i = 1;i<101;i++){
            num+=i;
        }
        console.log(num);
    </script>
</body>
練習:計算1-100之間全部數之和

雙重for循環:

<body>
    <script type="text/javascript">
        for(var i=1;i<=3;i++){
           for(var j=0;j<6;j++){
                document.write('*')
            }
               document.write('<br>')
         }
    </script>
</body>

效果:

<body>
    <script type="text/javascript">
        for (var i = 1;i < 10;i++){
            for (var n = 1;n <= i;n++){
                document.write("*");
            }
            document.write("<br>");
        }
    </script>
</body>
練習:在瀏覽器中輸出直角三角形

效果:

<body>
    <script type="text/javascript">
        var num = 10;
        for (var i = 1;i < num;i+=2){
            for (var a = 1;a<=parseInt((num-i)/2);a++){
                document.write("&nbsp;");
            }
            for (var n = 1;n <= i;n++){
            document.write("*");
            }
            document.write("<br>");
        }
    </script>
</body>
練習二:打印等腰三角形

效果:

 

 7、經常使用內置對象

所謂內置對象就是ECMAScript提供出來的一些對象,咱們知道對象都是有相應的屬性和方法;

1.數組 Array

建立方式:

  字面量方式建立(推薦你們使用這種方式,簡單粗暴)

var colors = ['red','color','yellow'];

  使用構造函數(後面會講)的方式建立 使用new關鍵詞對構造函數進行建立對象

 var colors2 = new Array();

數組的賦值:

var arr = [];
//經過下標進行一一賦值
arr[0] = 123;
arr[1] = '哈哈哈';
arr[2] = '嘿嘿嘿'

數組的經常使用方法:

數組的合併 concat():

var north = ['北京','山東','天津'];
var south = ['東莞','深圳','上海'];
        
var newCity = north.concat(south);
console.log(newCity)

join()將數組中的元素使用指定的字符串鏈接起來,它會造成一個新的字符串;

var score = [98,78,76,100,0];
var str = score.join('|');
console.log(str);//98|78|76|100|0

將數組轉成字符串toString()

var score = [98,78,76,100,0];
//toString() 直接轉換爲字符串  每一個元素之間使用逗號隔開
           
var str = score.toString();
console.log(str);//98,78,76,100,0

slice(start,end);返回數組的一段,左閉右開

var arr = ['張三','李四','王文','趙六'];
var newArr  = arr.slice(1,3);
console.log(newArr);//["李四", "王文"]

pop()移除數組的最後一個元素;

var arr = ['張三','李四','王文','趙六'];
var newArr  = arr.pop();
console.log(newArr);//["張三", "李四","王文"]

push()向數組最後添加一個元素;

var arr = ['張三','李四','王文','趙六'];
var newArr  = arr.push('小馬哥');
console.log(newArr);//["張三", "李四","王文","趙六","小馬哥"]

reverse()翻轉數組;

var names = ['alex','xiaoma','tanhuang','angle'];
       
//4.反轉數組
names.reverse();
console.log(names);

sort對數組排序;

var names = ['alex','xiaoma','tanhuang','abngel'];
names.sort();
console.log(names);// ["alex", "angle", "tanhuang", "xiaoma"]

isArray()判斷是否爲數組;

布爾類型值 = Array.isArray(被檢測的值) ;

2.字符串String

方法說明:

chartAt()返回指定索引的位置的字符;

var str = 'alex';
var charset = str.charAt(1);
console.log(charset);//l

concat()返回字符串值,表示兩個或多個字符串的拼接;

var str1 = 'al';
var str2  = 'ex';
console.log(str1.concat(str2,str2));//alexex

replace(a,b)將字符串a替換成字符串b;

var a = '1234567755';
var newStr = a.replace("4567","****");
console.log(newStr);//123****755

indexof()查找字符的下標,若是找到返回字符串的下標,找不到則返回-1,和seach方法同樣;

var str = 'alex';
console.log(str.indexOf('e'));//2
console.log(str.indexOf('p'));//-1

slice("a",1)以字符串a分割字符串,並返回新的數組,若是第二個參數沒寫,表示返回整個數組,若是定義了n個數,則返回數組的n個長度;

var  str =  '個人天呢,a是嘛,你在說什麼呢?a哈哈哈';
console.log(str.split('a'));//["個人天呢,", "是嘛,你在說什麼呢?", "哈哈哈"]
var  str =  '個人天呢,a是嘛,你在說什麼呢?a哈哈哈';
console.log(str.split('a',2)); //["個人天呢,", "是嘛,你在說什麼呢?"]

substr(start,end)

  start表示起始的索引,end表示向後顯示的範圍,好比從0開始,向後顯示4個字符;

var  str =  '個人天呢,a是嘛,你在說什麼呢?a哈哈哈';
console.log(str.substr(0,4));//個人天呢

trim() 刪除字符串兩端的空白

var str2 = '            alex             ';

console.log(str2.trim());   //結果爲alex

 

toLowerCase()轉小寫

var str = 'XIAOMAGE';
console.log(str.toLowerCase());//xiaomage

toUpperCase()轉大寫

var str = 'xiaomage';
console.log(str.toUpperCase());

特別:

//1.將number類型轉換成字符串類型
var num = 132.32522;
var numStr = num.toString()
console.log(typeof numStr)
//四捨五入
var newNum = num.toFixed(2)
console.log(newNum)

3.Data日期對象

 建立日期對象只有構造函數一種方式,使用new關鍵字;

//建立了一個date對象
var myDate = new Date();

//建立日期對象
var myDate=new Date();
        
//獲取一個月中的某一天
console.log(myDate.getDate());

//返回本地時間
console.log(myDate().toLocalString());//2018/5/27 下午10:36:23

4.Math內置對象

經常使用內置對象

Math.ceil() 向上取整,'天花板函數';

var x = 1.234;
//天花板函數  表示大於等於 x,而且與它最接近的整數是2
var a = Math.ceil(x);
console.log(a);//2

Math.floor 向下取整,'地板函數';

var x = 1.234;
// 小於等於 x,而且與它最接近的整數 1
var b = Math.floor(x);
console.log(b);//1

求兩個數的最大值和最小值

//求 兩個數的最大值 最小值
console.log(Math.max(2,5));//5
console.log(Math.min(2,5));//2

 隨機數 Math.random()

var ran = Math.random();
console.log(ran);[0,1)

思考:若是讓你取100-200之間的隨機數,怎麼作?

背過公式:min - max之間的隨機數: min+Math.random()*(max-min)

相關文章
相關標籤/搜索