JavaScript 空白符(分隔符)


分隔符(空白符)就是各種不可見字符的集合,如空格(\u0020)、水平制表符(\u0009)、垂直制表符(\u000B)、換頁符(\u000C)、不中斷空白(\u00A0)、字節序標記(\uFEFF)、換行符(\u000A)、 回車符(\u000D)、行分隔符(\u2028)、段分隔符(\u2029)等。

在 JavaScript 中,分隔符不被解析,主要用來分隔各種記號,如標識符、關鍵字、直接量等信息。

在 JavaScript 腳本中,常用分隔符來格式化代碼,以方便閱讀。

示例1

對於下面一行代碼:

function toStr(a){return a.toString();}

可以使用分隔符格式化顯示:

function toStr(a){
  return a.toString();
}

一般 JavaScript 編輯器都會提供代碼格式化的功能。

分隔符使用時需要注意以下幾點:

  1. 分隔符雖然無實際意義,但是在腳本中卻不能缺少。

如果在標識符與關鍵字之間不使用分隔符分隔,JavaScript 就會拋出異常

示例2

在下面代碼中,把關鍵字 function 與標識符 toStr 連在一起,以及把關鍵字 return 與 toString 標識符連在一起都是錯誤的。

functiontoStr(a){returna.toString();}  //錯誤寫法
function toStr(a){return a.toString();}  //正確寫法

  1. JavaScript 解析器一般采用最長行匹配原則,不恰當地換行顯示一句代碼,容易引發異常或錯誤。

示例3

下面代碼會返回意外的結果。

function toStr(a){
    return 
    a.toString();  //錯誤的換行
}
document.write(toStr("abc"));  //實際返回 undefined,應該返回"abc"

這是因為 return 作為一條獨立語句,JavaScript 解析器可以正確解析它,雖然它后面沒有分號,解析器在正確解析的前提下會自動為其補加一個分號,以表示該句已經結束。

這樣換行顯示的 a.toString();就是下一句待執行的命令,而不是被返回的值。

  1. 不能在標識符、關鍵字等內部使用分隔符。

示例4

在下面函數中使用空格把 toString() 分為兩部分,JavaScript 會因無法識別而拋出異常。

function toStr(a){
  return a.to String();  //錯誤分隔符
}
  1. 在字符串或者正則表達式內,分隔符是有意義的,不能夠隨意省略或替換。

示例5

在下面代碼中,變量 a 和 b 被賦予相同的字符串,但是變量 b 中插入了空格,則比較結果是不相等的。

var a = "空格";
var b = "空格 ";
document.write((a==b));  //返回 false,說明不相同


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM