JavaScript進階程式設計 讀書筆記之十一 內建對象Global

來源:互聯網
上載者:User

內建對象
  定義:由ECMAScript實現提供的、獨立於宿主環境的所有對象,在ECMAScript程式開始執行時出現。

  由定義可知開發人員不必明確執行個體化內建對象,它已被執行個體化了。在ECMAScript-262隻定義了兩個內建對象,即Global和Math

Global
  Global對象是ECMAScript中最特別的對象,因為實際上它根本不存在。

  由於在ECMAScript中不存在獨立的對象,所有函數都必須是某個對象的方法,如前面提到的isNaN()、isFinite()、parseInt()和parseFloat()等,都是Global對象的方法。

  escape()、encodeURI()、encodeURIComponent()、unescape()、decodeURI()、decodeURIComponent()、eval()等都是Global的方法。

escape() && encodeURI() && encodeURIComponent()
  這幾個方法用於對字串進行編碼。

  escape不編碼字元有69個:*,+,-,.,/,@,_,0-9,a-z,A-Z

  encodeURI不編碼字元有82個:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z

  encodeURIComponent不編碼字元有71個:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z

  escape():不建議用,已淘汰

  encodeURI():對URL進行編碼,樣本:
複製代碼 代碼如下:
encodeURI("http://www.jb51.net/a file with spaces.html")
// outputs http://www.jb51.net/a%20file%20with%20spaces.html

encodeURIComponent():對參數進行編碼,樣本:
複製代碼 代碼如下:
param1 = encodeURIComponent("http://xyz.com/?a=12&b=55")
url ="http://domain.com/?param1="+ param1 +"&param2=99";
// outputs http://www.domain.com/?param1=http%3A%2F%2Fxyz.com%2F%Ffa%3D12%26b%3D55&param2=99

unescape() && decodeURI() && decodeURIComponent()
  這幾個方法用於對字串進行解碼。

eval()
  eval()可能是ECMAScript語言中最強大的方法,該方法就像整個JavaScript的解釋程式,接受一個參數,即要執行的ECMAScript(或JavaScript)字串。

  樣本:

複製代碼 代碼如下:
var msg="Hello world";
eval("alert(msg)");//alert "Hello world"

注意,eval()功能很強大,但也很危險,特別在用eval執行使用者輸入的內容時,可能會被代碼注入。

Global對象的所有屬性
  Global不只有方法,它還有屬性,Global對象的所有屬性:

屬性

說明

undefined

Undifined類型的字面量

NaN

非數的專用數值

Infinity

無窮大值的專用數值

Object

Object的建構函式

Array

Array 的建構函式

Function

Function 的建構函式

Boolean

Boolean 的建構函式

String

String 的建構函式

Number

Number 的建構函式

Date

Date 的建構函式

RegExp

RegExp 的建構函式

Error

Error 的建構函式

EvalError

EvalError 的建構函式

RangeError

RangeError 的建構函式

ReferenceError

ReferenceError 的建構函式

SyntaxError

SyntaxError 的建構函式

TypeError

TypeError 的建構函式

URIError

URIError 的建構函式

作者:天行健,自強不息

出處:http://artwl.cnblogs.com

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.