日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

“约见”面试官系列之常见面试题之第六十八篇之本地对象 内置对象 宿主对象(建议收藏)

發(fā)布時間:2023/12/9 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 “约见”面试官系列之常见面试题之第六十八篇之本地对象 内置对象 宿主对象(建议收藏) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

首先解釋下宿主環(huán)境:一般宿主環(huán)境由外殼程序創(chuàng)建與維護,只要能提供js引擎執(zhí)行的環(huán)境都可稱之為外殼程序。如:web瀏覽器,一些桌面應(yīng)用系統(tǒng)等。即由web瀏覽器或是這些桌面應(yīng)用系統(tǒng)早就的環(huán)境即宿主環(huán)境。

本地對象

ECMA-262 把本地對象(native object)定義為“獨立于宿主環(huán)境的 ECMAScript 實現(xiàn)提供的對象”。

再來看一下,“本地對象”包含哪些內(nèi)容:

Object、Function、Array、String、Boolean、Number、Date、RegExp、Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError

由此可以看出,簡單來說,本地對象就是 ECMA-262 定義的類(引用類型)。

內(nèi)置對象

ECMA-262 把內(nèi)置對象(built-in object)定義為“由 ECMAScript 實現(xiàn)提供的、獨立于宿主環(huán)境的所有對象,在 ECMAScript 程序開始執(zhí)行時出現(xiàn)”。這意味著開發(fā)者不必明確實例化內(nèi)置對象,它已被實例化了。

同樣是“獨立于宿主環(huán)境”。根據(jù)定義我們似乎很難分清“內(nèi)置對象”與“本地對象”的區(qū)別。而ECMA-262 只定義了兩個內(nèi)置對象,即 Global 和 Math (它們也是本地對象,根據(jù)定義,每個內(nèi)置對象都是本地對象)。

如此就可以理解了。內(nèi)置對象是本地對象的一種。而其包含的兩種對象中,Math對象我們經(jīng)常用到,可這個Global對象是啥東西呢?

Global對象是ECMAScript中最特別的對象,因為實際上它根本不存在,但大家要清楚,在ECMAScript中,不存在獨立的函數(shù),所有函數(shù)都必須是某個對象的方法。類似于isNaN()、parseInt()和parseFloat()方法等,看起來都是函數(shù),而實際上,它們都是Global對象的方法。而且Global對象的方法還不止這些。有關(guān)Global對象的具體方法和屬性,感興趣的同學(xué)可以看一下這里:JavaScript 全局對象參考手冊

????? 3.宿主對象

由ECMAScript實現(xiàn)的宿主環(huán)境提供的對象,可以理解為:瀏覽器提供的對象。所有的BOM和DOM都是宿主對象。

4.自定義對象

?

?

總結(jié):

JS中,可以將對象分為“內(nèi)部對象”、“宿主對象”和“自定義對象”三種。

?

1,內(nèi)部對象

js中的內(nèi)部對象包括Array、Boolean、Date、Function、Global、Math、Number、Object、RegExp、String以及各種錯誤類對象,包括Error、EvalError、RangeError、ReferenceError、SyntaxError和TypeError。

其中Global和Math這兩個對象又被稱為“內(nèi)置對象”,這兩個對象在腳本程序初始化時被創(chuàng)建,不必實例化這兩個對象。

?

2.宿主對象

宿主對象就是執(zhí)行JS腳本的環(huán)境提供的對象。對于嵌入到網(wǎng)頁中的JS來說,其宿主對象就是瀏覽器提供的對象,所以又稱為瀏覽器對象,如IE、Firefox等瀏覽器提供的對象。不同的瀏覽器提供的宿主對象可能不同,即使提供的對象相同,其實現(xiàn)方式也大相徑庭!這會帶來瀏覽器兼容問題,增加開發(fā)難度。

瀏覽器對象有很多,如Window和Document等等。

?

3.自定義對象

顧名思義,就是開發(fā)人員自己定義的對象。JS允許使用自定義對象,使JS應(yīng)用及功能得到擴充

?

本面試題為前端常考面試題,后續(xù)有機會繼續(xù)完善。我是歌謠,一個沉迷于故事的講述者。

歡迎一起私信交流。

“睡服“面試官系列之各系列目錄匯總(建議學(xué)習(xí)收藏)?

總結(jié)

以上是生活随笔為你收集整理的“约见”面试官系列之常见面试题之第六十八篇之本地对象 内置对象 宿主对象(建议收藏)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。