JavaScript基礎(1)-ECMAScript

1、JavaScript簡介javascript

一、JavaScript歷史背景css

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

  剛開始JavaScript叫作LiveScript,可是因爲當時Java這個語言特別火,因此爲了傍大牌,就更名爲JavaScript。如同「北大」和「北大青鳥」的關係。「北大青鳥」就是傍「北大」大牌。前端

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

二、JavaScript和ECMAScript的關係程序員

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

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

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

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

  《ECMAScript 6 入門》 – 阮一峯 http://es6.ruanyifeng.com/

三、JavaScript的發展:蒸蒸日上

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

  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」頗有多是將來的趨勢。

四、JavaScript入門易學性

  JavaScript對初學者比較友好。

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

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

  好比Java中須要定義以下變量:

    int a;
    float a;
    double a;
    boolean a;

  而JavaScript中,只用定義一個變量: 

  var a;

  JavaScript不用關心其餘的一些事情(好比內存的釋放、指針等),更關心本身的業務。

五、JavaScript是前臺語言

  JavaScript是前臺語言,而不是後臺語言。

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

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

六、JavaScript的組成

  JavaScript基礎分爲三個部分:

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

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

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

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

七、JavaScript的特色

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

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

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

2、第一個JavaScript代碼

一、js引入

  a、在頁面中,咱們能夠在body標籤中放入以下標籤對兒:

    <script type="text/javascript">
        //js代碼段
    </script>

  b、引入js文件:

    <script type="text/javascript" src="demo.js"></script>

二、語法規則

  學習程序,是有規律可循的,程序要遵循必定的準則,這個準則就是:語法。

  (1)JavaScript對換行、縮進、空格不敏感;

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

  (2)全部的符號,都是英語的,好比括號、引號、分號;

  (3)JavaScript的註釋:

    a、單行註釋:  // 我是註釋

    b、多行註釋:  /* 多行註釋 */

    注意:sublime中,單行註釋的快捷鍵是ctrl+/,多行註釋的快捷鍵是ctrl+shift+/。

三、JavaScript中輸出信息的寫法

  (1)彈出警告框:alert語句       

    <script type="text/javascript">
        alert("娃哈哈");
    </script>

  (2)控制檯輸出:console.log()

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

  (3)用戶輸入:prompt()語句

    prompt()就是專門用來彈出可以讓用戶輸入對話框,代碼以下:

    <script type="text/javascript">
        var a = prompt('今天是什麼天氣?');
        console.log(a);
    </script>

    上方代碼中,用戶輸入的內容,將被傳遞給變量a。

    prompt()語句中,用戶無論輸入什麼內容,都是字符串類型。

       (4)alert和prompt的區別:

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

四、變量

       (1)變量的聲明和賦值

    var a = 100;

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

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

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

    變量名:咱們能夠給變量取的名字。

  注意:

    a、在JavaScript中,永遠都是用var來聲明變量,這和C、Java等語言不一樣(有興趣的同窗能夠看一下es6);

    b、變量要先定義,才能使用,好比,咱們不設置變量,直接輸出的話,控制檯將會報錯,通常有經驗的程序員,會把聲明和賦值寫在一塊兒,好比:var a = 10; // 聲明,而且賦值10

  (2)變量的命名規範

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

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

    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

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

  (3)變量的類型

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

              a、數值型:number

                     若是一個變量中存放了數字,那麼這個變量就是數值型的,以下示例:

                     var a = 100;      // 定義了一個變量,而且賦值100

                     console.log(typeof a);   // 輸出a變量的類型,typeof()表示「獲取變量的類型」

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

              b、字符串型:string

                     用單引號或者雙引號括起來的字符,以下示例:

    var a = "abcde";
    var b = '路飛';
    var c = "123123";
    var d = "";     // 空字符串
    console.log(typeof a,typeof b,typeof c,typeof d); 
    // string string string string

              c、連字符和加號的區別

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

    console.log("我" + "愛" + "你"); // 連字符,把漢字連在一塊兒,輸出:我愛你
    console.log("我+愛+你");           // 原樣輸出:我+愛+你
    console.log("我"+512)        // 輸出:我512
    console.log(1+2+3);             // 先計算並輸出結果,輸出:6

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

  (4)變量值的傳遞(賦值)

    語句:a = b;  // 把b的值賦給a,b值不變

  (5)變量格式的轉換

              parseInt()能夠將字符串轉成數字,例如: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、數據類型

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

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

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

一、基本數據類型

       a、number

        var a = 123;
        console.log(typeof a)  // 輸出:number
        // 特殊狀況:Infinity(無限大)是 number類型
        var a1 = 5/0;
        console.log(a1)   // Infinity 
        console.log(typeof a1) // number

       b、string

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

       c、boolean

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

       d、null

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

       e、undefined

        var d1;  // 只聲明未賦值表示變量未定義
        console.log(typeof d1)   // undefined

二、引用數據類型

       引用數據類型有如下幾種,後面再來介紹。      

    Function

    Object

    Arrray

    String

    Date

4、運算符

一、賦值運算符

       =、+=、-=、*=、/=、%=

二、算數運算符

       +、-、*、/、%、++、--

三、比較運算符

       ==、===(等同於:值和類型均相等)、!=、!==、>、<、>=、<=

       注意:==(!=)比較的是值, ===(!==)比較的是值和數據類型,例如:

    var s = '1';
    var n = 1;
    console.log(s == n);  // true
    console.log(s === n);  // false

四、字符串拼接和字符串運算的特殊狀況

       a、字符串類型的數值 和 數值類型相減 結果是數值,例如:

    var a = "3";
    var b = 2;
    console.log(a - b);  // 1

       b、NaN(not a number)是一個number類型

    var b1 = 'one';
    var b2  = 'two';
    ret = b1 * b2
    console.log(ret, typeof(ret))  // NaN number

       c、字符串拼接

    var name = '伊拉克';
    var am = '美軍';
    // 字符串拼接
    var str = "3月20日,"+name+"戰爭爆發,以"+am+"爲主的聯合部隊擊潰了軍隊。";
    console.log(str);
    // es6的模塊字符串,tab鍵上面的反引號``, 添加變量使用${變量名}
    var str1 = `3月20日,${name}戰爭爆發,以${am}爲主的聯合部隊擊潰了軍隊。`;
    console.log(str1);

5、數據類型轉換

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

一、將數值類型轉換成字符串類型

       a、隱式轉換

    var n1 = 123;
    var n2 = '123';
    var n3 = n1 + n2;
    console.log(n3)   // 123123
    console.log(typeof n3);   // string

       b、強制類型轉換:String()、.toString()

    var n1 = 123;
    var str1 = String(n1);
    console.log(str1, typeof str1);  // 123 string

    var num = 234;
    str2 = num.toString()
    console.log(str2, typeof str2)  // 234 string

二、將字符串類型轉換成數值類型:Number()、parseInt()、parseFloat()

    var stringNum = '789.123wadjhkd';
    var str = '666'
    console.log(Number(stringNum), Number(str))  // NaN 666
    console.log(parseInt(stringNum))  // 789
    console.log(parseFloat(stringNum));  // 789.123

三、任何數據類型均可以轉換爲boolean類型

    // 非0既真
    var b1 = '123';  // true
    var b2 = 0;  // false
    var b3 = -123;   // true
    var b4 = Infinity;  // true
    var b5 = NaN;   // false
    var b6;  // false
    var b7 = null;   // false

6、流程控制

一、if、if-else、if-else if-else

       a、if語句,例如:

    var ji = 20;
    if(ji >= 10){
        console.log('恭喜你,吃雞成功,大吉大利')
    }
    console.log('hello world'); // 這裏的代碼還會執行

       b、if-else,例如:

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

       c、if-else if-else,例如:

    if(true){
       // 知足條件執行這段代碼
    }else if(true){
        // 知足條件執行這段代碼            
    }else if(true){
       // 知足條件執行這段代碼        
    }else{
      // 知足條件執行這段代碼
    }

二、邏輯與(&&)、邏輯或(||)

       a、模擬:若是總分 > 400分 而且 數學成績 > 89分 被清華大學錄取,例如:

    var sum = 405;
    var math = 91;
    if(sum > 400 && math > 90){
        console.log('清華大學錄取成功')
    }else{
        alert('高考失利')
    } 

       b、模擬:若是總分 > 500分 或者 英語大於85分 被複旦大學錄取,例如:

    if(sum > 500 || english > 85){
        console.log('被複旦大學錄取')
    }else{
        alert('高考又失利了')
    }

三、switch語句

    var gameScore = 'better';
    switch(gameScore){
    case 'good':
        console.log('玩的很好')
        break;  // break表示退出,若不寫則直到下一個break才退出(break穿透)
    case 'better':
        console.log('玩的老牛逼了')
        break;
    case 'best':
        console.log('恭喜你 吃雞成功')
        break;
    default:
        console.log('很遺憾')
    }

四、while循環、do-while循環

       a、while循環,例如:

    var i = 1;  // 初始化循環變量
    while(i <= 9){  // 判斷循環條件
        console.log(i);
        i = i+1;  // 改變循環條件
    }

       練習:將1-100全部是2的倍數在控制檯中打印,以下代碼:

    var i = 1;
    while(i <= 100){
        if(i%2 == 0){
            console.log(i)
        }
        i++;
    }

       b、do-while循環,例如:

    // 無論有沒有知足while中的條件do裏面的代碼都會先執行一次
    var i = 3;// 初始化循環變量
    do{
        console.log(i)
        i++;// 改變循環條件
    }while (i < 10) // 判斷循環條件

五、for循環

    for(var i = 1; i <= 10; i++){
         console.log(i)
    }

  練習:將1-100之間的全部偶數打印在控制檯,以下代碼:

    for(var i = 1; i <= 100; i++){
        if(i%2 == 0){
            console.log(i)
        }
    }

       練習:將1-100之間全部數之和打印在控制檯,以下代碼:

    sum = 0
    for(var i = 1; i <= 100; i++){
        sum += i;
    }
    console.log(sum);

       練習:在瀏覽器中輸出直角三角形,以下代碼:

    for(var i = 1; i <= 6; i++){
        for(var j = 1;j <= i; j++){
            document.write("*");
        }
            document.write('<br>');
    }

       練習:在瀏覽器中輸出等腰直角三角形,以下代碼:

    for(var i = 1; i <= 6; i++){ // 控制行數
        // 控制空格數
         for(var s = i; s < 6; s++){
             document.write('&nbsp;')
         }
        for(var j = 1; j <= 2*i-1; j++){
            document.write('*')
        }
        document.write('<br>')
    }

7、經常使用內置對象

       JavaScript 中的全部事物都是對象:字符串、數值、數組、函數...,此外,JavaScript 容許自定義對象。

       JavaScript 提供多個內建對象,好比 String、Date、Array 等等。對象只是帶有屬性和方法的特殊數據類型。

一、Array(數組)對象

       (1)數組的建立有兩種方式

              a、字面量方式,推薦使用這種方式,簡單粗暴,例如:       

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

              b、構造函數 (後面會介紹) 的方式,使用new關鍵詞對構建函數進行建立對象,例如:   

            var colors  = new Array();

       (2)數組的賦值

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

       (3)數組的經常使用方法和示例

方法或屬性

描述

concat()

鏈接兩個或更多的數組,並返回結果

join()

把數組的全部元素放入一個字符串

toString()

把數組轉換爲字符串,並返回結果

slice(start,end)

選取數組的的一部分,並返回一個新數組

pop()

刪除數組的最後一個元素並返回刪除的元素

push()

向數組的末尾添加一個或更多元素,並返回新的長度

reverse()

反轉數組的元素順序

sort()

對數組的元素進行排序

shift()

刪除並返回數組的第一個元素

unshift()

向數組的開頭添加一個或更多元素,並返回新的長度

Array.isArray(待測)

判斷對象是否爲數組

length

數組的一個屬性,設置或返回數組元素的個數

 

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

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

    str1 = score.toString();
    console.log(str1);  // "98,78,76,100,0"

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

    arr.pop();
    console.log(arr);  // ["張三", "李四", "王文"]

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

    var names = ['alex','wusir','xiaoma','angle'];
    names.reverse();
    console.log(names);  // ["angle", "xiaoma", "wusir", "alex"]

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

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

    arr.unshift('小馬哥');
    console.log(arr); // ["小馬哥", "李四", "王文", "趙六"]

    var arr = [1];
    console.log(Array.isArray(arr));  // true

二、String(字符串)對象

方法

含義

charAt()

返回指定索引的字符

concat()

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

replace(a,b)

字符串b替換了a

indexOf()

返回某個指定的字符串值在字符串中首次出現的位置,沒有則返回-1

slice()

返回start到end-1之間的字符串,索引從0開始

split()

把字符串分割爲字符串數組

substr(start,end)

字符串截取,顧頭不顧尾

toLowerCase()

返回一個新的字符串,該字符串字母都變成了小寫

toUpperCase()

返回一個新的字符串,該字符串的字母都變成了大寫

match()

查找找到一個或多個正則表達式的匹配

search()

查找與正則表達式相匹配的值

 

    var str = 'hello';
    var charset = str.charAt(1);
    console.log(charset);  // e

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

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

    var str = 'world';
    console.log(str.indexOf('o'));  // 1
    console.log(str.indexOf('a'));  // -1

    var str = '正能量';
    console.log(str.slice(1,2));  //

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

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

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

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

三、Date(日期)對象

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

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

       經常使用方法和示例:

 

方法

含義

Date()

根據本地時間返回當天的日期和時間

getFullYear()

根據本地時間返回指定日期對象的年份(四位數年份時返回四位數字)

getMonth()

根據本地時間返回指定日期對象的月份(0-11)

getDate()

根據本地時間返回指定日期對象的月份中的第幾天(1-31)

getDay()

根據本地時間返回指定日期對象的星期中的第幾天(0-6)

getHours()

根據本地時間返回指定日期對象的小時(0-23)

getMinutes()

根據本地時間返回指定日期對象的分鐘(0-59)

getSeconds()

根據本地時間返回指定日期對象的秒數(0-59)

toLocaleString()

據本地時間格式,把Date對象轉換爲字符串

 

    var myDate = new Date();
    console.log(Date());
    console.log(myDate.getFullYear());
    console.log(myDate.getMonth());
    console.log(myDate.getDate());
    console.log(myDate.getDay());
    console.log(myDate.getHours());
    console.log(myDate.getMinutes());
    console.log(myDate.getSeconds());
    console.log(myDate.toLocaleString());

四、Math(算數)對象

方法

含義

Math.ceil()

向上取整,稱爲「天花板函數」

Math.floor()

向下取整,稱爲「地板函數」

Math.min(a,b)

求a和b中的最小值

Math.max(a,b)

求a和b中的最大值

Math.random()

隨機數,默認0-1之間(包括0,不包括1)的隨機數,

公式min+Math.random()*(max-min)表示min~max之間的數

 
    var x = 1.234;
    var a = Math.ceil(x);
    var b = Math.floor(x);
    console.log(a, b);  // 2 1

    console.log(Math.min(3,8));  // 3
    console.log(Math.max(3,8));  // 8
  
    var ran = Math.random();
    console.log(ran);  // 大於等於0 小於1 的數
    ran2 = 100 + Math.random() * 100;  // min + Math.random() * (max - min)
    console.log(ran2);   // 100-200之間的隨機數

8、函數

       函數就是將一些語句進行封裝,而後經過調用的形式,執行這些語句。

       做用:

    將大量重複的語句寫在函數裏,之後須要這些語句的時候,能夠直接調用函數,避免重複勞動;

    簡化編程,讓編程模塊化;

一、函數的定義

    function 函數名(){
        // 函數體
    }

  function:是一個關鍵字,中文是「函數」、「功能」;

  函數名:命名規定和變量的命名規定同樣。只能是字母、數字、下劃線、美圓符號,不能以數字開頭;

  參數:後面有一對小括號,裏面是放參數用的;

  函數體:大括號裏面,是這個函數的語句;

二、函數的調用

    函數名();

三、函數的參數

       函數的參數包括形參和實參(實際參數和形式參數的個數要相同),例如:

  sum(3,4);
  sum("3",4);
  sum("Hello","World");
  // 函數:求和
  function sum(a, b){
      console.log(a + b);
  }

四、函數的返回值

  console.log(sum(3, 4));
  // 函數:求和
  function sum(a, b) {
      return a + b;
  }
相關文章
相關標籤/搜索