JavaScript語法、語句、關鍵字保留字、變量

2020-11-2    前端達人

第三章 基本概念

3.1 語法

3.1.1 區(qū)分大小寫

  1. 變量名test和Test完全不同

3.1.2 標識符:變量、函數(shù)、屬性的名字,或者函數(shù)的參數(shù)

  1. 命名規(guī)則
    • 第一個字符必須是一個字母、下劃線、或者美元符號$
    • 其他字符可以是字母、下劃線、美元符號、數(shù)字
  2. 采用駝峰大小寫格式:第一個字母小寫,剩下每個單詞首字母大寫。
    • for example:myName、herAge。
    • 駝峰式命名雖不是強制要求,但可以視為一種最佳實踐。

3.1.3 注釋

包括單行注釋和塊級注釋。

  1. 單行注釋:以兩個斜杠開頭。如下所示:
// alert(“HelloWorld!”) 
  • 1
  1. 塊級注釋:以一個斜杠和一個星號(/*)開頭,以一個星號和一個斜杠結(jié)尾。如下所示:
/*
這是一個
多行的
塊級注釋
*/ 
  • 1
  • 2
  • 3
  • 4
  • 5

3.1.4 嚴格模式

  1. 定義:為JavaScript定義的一種不同的解析與執(zhí)行模型。
  2. 使用方法:
    • 在整個腳本中啟用嚴格模式,可以在頂部添加代碼“use strict”;。
    • 也可以在函數(shù)內(nèi)部的上方包含這條編譯指示。
  3. 使用效果:嚴格模式下,ECMAScript3中的一些不確定行為會得到處理,而且對某些不安全的操作也會拋出錯誤。嚴格模式下,js的執(zhí)行效果會有很大不同。

3.1.5 語句

  • ECMAScript中的語句以一個分號結(jié)尾,但非必需。
  • 若省略分號,則由解析器確定語句的結(jié)尾。
  • 建議不要省略分號,因為寫上解析器就不必要再花時間推測應該在哪里插入分號了。

3.2 關鍵字和保留字

ECMA-262描述了一組具有特定用途的關鍵字和一組不能用做標識符的保留字。

  1. 關鍵字:可以用于表示控制語句的開始或結(jié)束、或用于執(zhí)行特定操作等。
  2. 保留字:保留字雖然在這門語言中還沒有特定的用途,但他們有可能在將來被用作關鍵字。

3.3 變量

  • ECMAScript的變量是松散類型,即可以用來保存任何類型的數(shù)據(jù)。
  • 定義變量時要用var操作符,后跟變量名,例如var message,當然了,也可以直接在定義的時候?qū)ψ兞孔鲆粋€初始化,例如var message = ‘hi’ ;
  • 這段的意思是變量message中保存了一個字符串“hi”。像這樣初始化變量并不會把它標記為字符串類型,初始化的過程就只是給變量賦了一個值。
  • 因此,劃重點,可以在修改變量的同時修改值的類型。例如:
var message = ‘hi’ ;
message = 100 ;   //有效,但不推薦
//這個例子代表變量message一開始保存了一個字符串“hi”,然后該值又被一個數(shù)字值100取代了。 
  • 1
  • 2
  • 3
  • 有一點需要注意,用var操作符定義的變量將成為該變量的作用域中的局部變量。也就是說如果在函數(shù)中使用var定義一個變量,那么這個變量在函數(shù)退出后就會被銷毀。例如:
function test(){
    var  message = ‘hi’ ; //局部變量
} ;
test();
alert(message); //錯誤

//為什么是錯誤?
//這里,變量message是在函數(shù)里用var定義的,當函數(shù)被調(diào)用時,就會創(chuàng)建該變量并為其賦值。而在此之后,這個變量會立即被銷毀。所以在執(zhí)行alerat()那行代碼的時候message已經(jīng)被銷毀了,因此報錯。 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

那么,該怎么解決呢?

  • 在函數(shù)內(nèi)部省略掉var操作符,就可以創(chuàng)建一個全局變量,例子:
function test(){
    message = ‘hi’ ; //局部變量
} ;
test();
alert(message); // hi
//在函數(shù)內(nèi)部不用var會創(chuàng)建全局變量。
//但我們并不提倡這種做法,因為局部作用域中定義的全局變量很難去維護。
//所以我們應該選擇在開始就定義好所有的變量。

分享本文至:

日歷

鏈接

個人資料

藍藍設計的小編 http://m.sillybuy.com

存檔