国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript高級程序設計

2019-11-21 02:23:03
字體:
來源:轉載
供稿:網友
前一章簡要談及對象的使用,現在要詳細介紹它們了。對象的創建或銷毀都在JavaScript執行過程中發生,理解這種范式的含義對理解整個語言至關重要。
3.2.1 聲明和實例化
對象是用關鍵字new后跟要實例化的類的名字創建的:
第一行代碼創建了Object類的一個實例,并把它存儲在變量oObject中。第二行代碼創建了String類的一個實例,把它存儲在變量oStringObject中。如果構造函數無參數,括號則不是必需的,因此可以采用下面的形式重寫上面的兩行代碼:
3.2.2  對象引用
在第2章中,介紹了引用類型的概念。在ECMAScript中,不能訪問對象的物理表示,只能訪問對象的引用。每次創建對象,存儲在變量中的都是該對象的引用,而不是對象本身。
3.2.3  對象廢除
ECMAScript有無用存儲單元收集程序,意味著不必專門銷毀對象來釋放內存。當再沒有對對象的引用時,稱該對象被廢除(dereference)了。運行無用存儲單元收集程序時,所有廢除的對象都被銷毀。每當函數執行完它的代碼,無用存儲單元收集程序都會運行,釋放所有的局部變量,還有在一些其他不可預知的情況下,無用存儲單元收集程序也會運行。
把對象的所有引用都設置為null,可以強制性的廢除對象。例如:
當變量oObject設置為null后,對第一個創建的對象的引用就不存在了。這意味著下次運行無用存儲單元收集程序時,該對象將被銷毀。
每用完一個對象后,就將其廢除,來釋放內存,這是個好習慣。這樣還確保不再使用已經不能訪問的對象,從而防止程序設計錯誤的出現。此外,舊的瀏覽器(如IE/Mac)沒有全面的無用存儲單元回收程序,所以在卸載頁面時,對象可能不能被正確銷毀。廢除對象和它的所有特性是確保內存使用正確的最好方法。
廢除對象的所有引用時要當心。如果一個對象有兩個或更多引用,則要正確廢除該對象,必須將其所有引用都設置為null。
3.2.4  早綁定和晚綁定
所謂綁定(binding),即把對象的接口與對象實例結合在一起的方法。
早綁定(early binding)是指在實例化對象之前定義它的特性和方法,這樣編譯器或解釋程序就能提前轉換機器代碼。在Java和Visual Basic這樣的語言中,有了早綁定,就可以在開發環境中使用IntelliSense(即給開發者提供其對象中特性和方法列表的功能)。ECMAScript不是強類型語言,所以不支持早綁定。
另一方面,晚綁定(late binding)指的是編譯器或解釋程序在運行前,不知道對象的類型。使用晚綁定,無需檢查對象的類型,只需要檢查對象是否支持特性和方法即可。ECMAScript中的所有變量都采用晚綁定方法,這樣就允許執行大量的對象操作,而無任何懲罰。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 郴州市| 云阳县| 吕梁市| 长顺县| 朝阳县| 西城区| 临城县| 龙口市| 林甸县| 中山市| 友谊县| 江口县| 闸北区| 韶关市| 镇平县| 长岭县| 淮北市| 庆元县| 高雄市| 仁布县| 福泉市| 广丰县| 宁蒗| 眉山市| 营口市| 醴陵市| 都兰县| 三门峡市| 大悟县| 岢岚县| 栖霞市| 永城市| 永春县| 聊城市| 平顶山市| 启东市| 辉南县| 定日县| 巫山县| 武威市| 诏安县|