第三節(jié)Node編程語言的基本語法(一)

一.語法

1.標(biāo)識符

標(biāo)識符的要求:

  • 大小寫敏感

  • 標(biāo)識符的組成:以字母,數(shù)字,下劃線以及美元符號,unicode符號開頭,可以包含數(shù)字,但不能已數(shù)字開頭

  • 不能使用保留字以及關(guān)鍵字
    關(guān)鍵字:控制語句詞:if swith case in catch
    執(zhí)行特定操作詞:break default delete new return this
    保留字:class enum extends super const export import
    嚴(yán)格模式額外增加的保留字:implements.package,
    interface static public protected private yiele let

  • 標(biāo)識符的命名:小駝峰命名法(userName)或匈牙利命名法(屬性+類型+對象描述)
    小駝峰命名法:從第二個(gè)英文單詞開始,每個(gè)單詞的首字母大寫.
    大駝峰命名法:每個(gè)單詞的首字母都要大寫.

  • 嚴(yán)格模式 node中建議全部使用嚴(yán)格模式.

    注意:命名誤區(qū)
    以數(shù)字開頭,不可以 ,例如  var  1q
    以*組成,不可以  ,例如:var ***;var  a*b
    以表達(dá)式開口,不可以,例如  var  a+b
    以$開頭,可以.
    
2.嚴(yán)格模式
  • 腳本中使用嚴(yán)格模式
    在文件的開頭使用"use strict";
    例如:
    "use strict"
    //定義變量
    var name = "玲瓏學(xué)院";
    //測試數(shù)據(jù)
    console.log(name);

  • 函數(shù)中使用嚴(yán)格模式
    在函數(shù)的開頭使用 "use strict";
    例如:
    //定義函數(shù)
    function getAge()
    {
    "use strict";
    var name = "玲瓏學(xué)院";
    }

  • 嚴(yán)格模式的影響

  • 變量的影響
    規(guī)定:變量的聲明必須使用var關(guān)鍵字

  • 不能使用with,eval等動態(tài)綁定,使嚴(yán)格模式執(zhí)行的效率更高

  • 不能重名:屬性名,參數(shù)名

  • 禁止使用八進(jìn)制使用數(shù)字,

  • 保留字不能使用標(biāo)識符

3.注視與語句
  • 注視
    1.單行注視: //
    2.多行注視: /*/
    /

    *@author
    *@param
    */
  • 語句
  • 每一行都是一個(gè)語句
  • 語句可以使用分號結(jié)尾,這是建議使用的方法
  • 代碼塊:使用大括號的多條語句.

二.基本數(shù)據(jù)類型

1.變量
  • 定義 :可以變化的量,可以儲存各種類型的數(shù)據(jù)
    注意:變量定義使用var關(guān)鍵字,也可以不實(shí)用var,此時(shí)的變量是全局變量(不推薦)
  • 定義變量的兩種方法:
    1.定義變量: var str;
    2.定義變量并進(jìn)行初始化: var userName = "玲瓏學(xué)院";
2.數(shù)據(jù)類型
  • 數(shù)據(jù)類型的分類

  • 簡單數(shù)據(jù)類型

    • Undefined 未定義,為初始化或初始化的值為:undefined,值為undefined

    • Null :表示指向空對象的指針.可用于對象初始化.
      Undefined與Null的區(qū)別:
      Number(null) = 0;
      Number(Undefined) = NaN;

    • String
      單引號和雙引號,都可以轉(zhuǎn)義字符,都不可以解析變量.
      將其他類型的數(shù)據(jù)轉(zhuǎn)換為字符串:toString()/String();

    • Number:整數(shù)和浮點(diǎn)數(shù).
      整數(shù)邊界:MAX_VALUE, MIN_VALUE
      并且可以使用isFinite()檢測是否在數(shù)值范圍內(nèi).
      注意:Number有一個(gè)特殊的值
      NaN,非數(shù)值,檢測一個(gè)值是否是NaN用函數(shù)isNaN();
      其他數(shù)據(jù)類型轉(zhuǎn)換為數(shù)值類型的使用:
      Number,不識別八進(jìn)制,不識別數(shù)值和字符串的混合數(shù)據(jù)
      parseInt(),可以識別八進(jìn)制,識別數(shù)值和字符串的混合數(shù)據(jù)
      parseFloat()和parseInt(),如果有多個(gè)"."號,則只識別從左往右的第一個(gè)點(diǎn)

    • Boolean: true/false,用作條件判斷
      哪些類型可以轉(zhuǎn)換成false
      1.空字符串
      2.數(shù)值0 ,null ,NaN,Undefined.

  • 復(fù)雜數(shù)據(jù)類型
    a.俠義的對象(Object)
    b.數(shù)組(Array)
    c.函數(shù)(Function)

    1.成員:值或函數(shù)方法
    2.對象的常用方法:toString
     對象初始化的方法:
     ①構(gòu)造方法  
       var obj = new Object();
     ②直接使用{}
       var obj = {};
    
3.數(shù)據(jù)類型與檢測符
  • 數(shù)據(jù)類型的檢測typeof
  • 是一個(gè)操作符,不是函數(shù)
  • 返回值為字符串:undefined/boolean/number/string/object/function

三.運(yùn)算符

1.一元運(yùn)算符:++ -- :n++或者是++n n=n+1
    n++與++n的區(qū)別:
    n++是先賦值在運(yùn)算
    ++n是先運(yùn)算再賦值
    其他數(shù)據(jù)類型進(jìn)行++或者--操作時(shí),先用number()轉(zhuǎn)換成數(shù)值型,然后再進(jìn)行運(yùn)算
    例如:  var n = true;
              ++n;
            此時(shí)的n就是2.
2.位運(yùn)算符:進(jìn)行二進(jìn)制的操作
3.邏輯運(yùn)算符
  • 邏輯與 : && 兩邊位true 則為true
    true && true //true
    true && false //false
    var a = {}; a && 2 //2 如果&&符號左邊的為對象,那么就返回右邊的數(shù)據(jù)
    var b = {}; a && b //b 如果&&符號兩邊都是對象,那么就返回右邊的對象.
    null && 2 //null 如果兩邊任何一個(gè)數(shù)據(jù)是null,那么返回的就是null
    2 && null //null
    NaN && 2 //NaN 如果兩邊任何一個(gè)數(shù)據(jù)是NaN,那么返回的就是NaN
    2 && NaN //NaN
    NaN && null //NaN如果兩邊分別是NaN,null,哪個(gè)在前,就返回哪個(gè)
    null && NaN //null
  • 邏輯或 : || 一邊為真 則為真
    true || false //true
    false || true //true
    true || true //true
    var b = {};
  • 邏輯非 : ! ,取反
    注意:邏輯與和邏輯或,都有短路的情況.
    邏輯與中,左邊語句為false,則右邊的語句不會被執(zhí)行.
    邏輯或中,左邊數(shù)據(jù)為true,右邊數(shù)據(jù)不會被執(zhí)行.
4.算術(shù)運(yùn)算符
  • x:超過了數(shù)值類型的范圍返回infinity或-infinity.infinity*0=NaN
  • /:infinity/0 = Infinity 0/0=NaN
  • +:可以進(jìn)行數(shù)字想家,也可以非用于字符串的連接操作
  • -:數(shù)字相減
5.比較運(yùn)算符
  • 包括>,<,>=,<=,=,==,===,!=,!==
    13 == '13'; //true
    13 === '13';//false
    null ==undefined; //true
    null ===undefined;//false
    var b = {};var a = {}; a == b //false 當(dāng)兩個(gè)變量指向同一個(gè)對象時(shí),才相等.
    var c = b; c === b // true
    'a' > 'b'; //false;比較的是字母的阿斯克碼值
6.三元運(yùn)算符
  • var b = (a>b?a:b) //先對'?'左邊的表達(dá)式求值,如果為true執(zhí)行':'左邊的語句,如果為false,執(zhí)行':'右邊的語句
7.賦值運(yùn)算符
  • =,+=,*=,/=,%=
8.逗號運(yùn)算符
  • var a =1,b =2,c = 5; //一行語句中定義多個(gè)變量
  • ++a,--b,c++; //在一行中執(zhí)行多個(gè)操作.
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • 前端07班 王語句JavaScript程序的執(zhí)行單位為行(line),也就是一行一行地執(zhí)行。一般情況下,每一行就是...
    ea203453e188閱讀 912評論 0 4
  • 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一行一行地執(zhí)行。一般情況下,每一行就是一個(gè)語句。 ...
    米塔塔閱讀 466評論 1 10
  • 什么是 JavaScript 語言? JavaScript 是一種輕量級的腳本語言。所謂“腳本語言”(script...
    oWSQo閱讀 1,818評論 0 1
  • 第三章 基本概念 本章基本內(nèi)容 語法 數(shù)據(jù)類型 流控制語句 理解函數(shù) (一)語法 區(qū)分大小寫在JS里面變量,函數(shù)名...
    我擁抱著我的未來閱讀 453評論 0 0
  • 今天是行動營的第二天,這本古典老師寫的書太有深度了, 讀了兩個(gè)小時(shí)才看了一點(diǎn)點(diǎn)。以下是我的幾點(diǎn)收獲。 1不要像無頭...
    微微的微笑66閱讀 217評論 0 0