JavaScript 本地物件、內建物件和宿主物件
JavaScript中,有很多知識點,你沒有掌握,並不會太影響工作。
比如標題中的內建物件、宿主物件和本地物件,僅是物件類別劃分方面的知識。
所以對實際編寫程式碼並不造成太大影響, 不過依然建議要這些概念有清晰的掌握。
主要基於如下幾個原因:
(1).如果對這些概念不清晰,可能在閱讀文件時給你造成掣肘。
(2).知識結構的全面和概念的清晰是水平提高的必備條件。
(3).對知識點的不馬虎是心理上的強烈需求。
一.本地物件:
本地物件也可以叫做原生物件或者內部物件。
此類物件獨立於宿主環境,由ECMA提供,所以每一種宿主環境都可以使用本地物件。JavaScript中的本地物件有Object、Function、Array、String、Boolean、Math、Number、Date、RegExp、Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError和Global。
二.內建物件:
內建物件與本地物件有如下兩點相同:
(1).獨立於宿主環境,由ECMA提供。
(2).每一種宿主環境都可以使用。
內建物件有自己的特點,那就是無需使用new +建構函式建立,而是JavaScript引擎初始化的時候就被建立。
比如Global物件和Math物件,大家有誰見過通過建構函式建立Math物件例項,都是採用如下使用方式:
[JavaScript] 純文字檢視 複製程式碼執行程式碼console.log(Math.PI)
程式碼執行效果截圖如下:
可以看到,內建物件是本地物件的一個子集。
三.宿主物件:
首先要明確什麼是宿主,ECMA僅是一套規範,也就是指定的一套程式設計規則。
但是規則畢竟是規則,如果要發揮作用,必須要有平臺或者說環境,這就是ECMA的宿主。
瀏覽器就是MCMA宿主之一,我們所說的JavaScript其實就是EMCA在瀏覽器上具體實現。
JavaScript中的宿主BOM與DOM物件,他們都屬於window物件的子物件。
四.程式碼例項:
下面通過一個簡單的程式碼例項,再來明確一下三個物件。
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> div { width:100px; height:100px; background-color:#ccc; } </style> <script> function getcl(){ var arr = [] var i =0; var C = '0123456789ABCDEF'; while(i++ < 6){ x=Math.random()*16; b=parseInt(x); c=C.substr(b,1); arr.push(c); } var cl = "#"+ arr.join(''); return cl; } window.onload = function () { var obt = document.getElementById("bt"); var odiv = document.getElementById("ant"); obt.onclick = function () { odiv.style.backgroundColor = getcl(); odiv.style.width=Math.random()*150+"px"; } } </script> </head> <body> <div id="ant"></div> <input type="button" id="bt" value="檢視演示"/> </body> </html>
(1).上面有賦值運算子(=)的應用,這是ECMAS制定的規範。
(2).document.getElementById方法則是宿主物件document所提供的。
(3).在獲取隨機顏色和寬度的時候都用到了Math物件,這是本地物件提供了,同時也是內建物件。
(3).parseInt方法屬於Global物件,屬於本地物件,也屬於內建物件,都是ECMA規範提供。
相關文章
- JavaScript內部物件和Date物件JavaScript物件
- Javascript 物件 – 字串物件JavaScript物件字串
- 《JavaScript物件導向精要》之四:建構函式和原型物件JavaScript物件函式原型
- JavaScript的內建物件JavaScript物件
- JavaScript高階:JavaScript物件導向,JavaScript內建物件,JavaScript BOM,JavaScript封裝JavaScript物件封裝
- JavaScript物件導向—物件的建立和操作JavaScript物件
- Javascript 物件 – 陣列物件JavaScript物件陣列
- Javascript 物件 – 數學物件JavaScript物件
- JavaScript之物件和原型JavaScript物件原型
- JavaScript 物件JavaScript物件
- JavaScript物件JavaScript物件
- session物件、cookie物件和appliaction物件Session物件CookieAPP
- 淺談Array --JavaScript內建物件JavaScript物件
- JavaScript物件與建立物件的方式JavaScript物件
- JavaScript 複習之包裝物件,Boolean物件,Number物件JavaScript物件Boolean
- c++內建函式物件C++函式物件
- JavaScript客戶端document物件和window物件的區別JavaScript客戶端物件
- JavaScript課程——Day07(物件簡介、Math物件、時間物件、字串物件)JavaScript物件字串
- JavaScript 複習之Navigator物件,Screen物件JavaScript物件
- JavaScript 複習之 Location物件,URL物件JavaScript物件
- JavaScript Array 物件JavaScript物件
- JavaScript物件概述JavaScript物件
- JavaScript Boolean 物件JavaScriptBoolean物件
- JavaScript Object 物件JavaScriptObject物件
- JavaScript arguments 物件JavaScript物件
- JavaScript Global 物件JavaScript物件
- JavaScript document物件JavaScript物件
- JavaScript navigator 物件JavaScript物件
- JavaScript history 物件JavaScript物件
- JavaScript location 物件JavaScript物件
- JavaScript Date 物件JavaScript物件
- JavaScript 物件 & 原型JavaScript物件原型
- JavaScript URL 物件JavaScript物件
- JavaScript RegExp物件JavaScript物件
- JavaScript Function物件JavaScriptFunction物件
- JavaScript Symbol物件JavaScriptSymbol物件
- JavaScript Set物件JavaScript物件
- JavaScript window物件JavaScript物件