摘要:三方法是能夠在對象上執行的動作四對象創建有以下三種方式來創建對象,包括構造函數對象直接量和函數。構造函數系統自帶使用操作符后跟構造函數用以初始化一個新創建的對象。內部原理對象字面量提供了叫做字面量的快捷方式,用于創建大多數原生對象值。
一、對象概述
(1)JavaScript 中的所有事物都是對象:字符串、數字、數組、日期,等等。
(2)在 JavaScript 中,對象是擁有屬性和方法的數據。
二、 屬性是與對象相關的值。 2.1 訪問屬性(1)訪問屬性是通過 . 操作符完成的,但這要求屬性名必須是一個有效的變量名。如果屬性名包含特殊字符,就必須用 "" 括起來。
(2)訪問這個屬性也無法使用 . 操作符,必須用["xxx"]來訪問。
(3)實際上JavaScript對象的所有屬性都是字符串,不過屬性對應的值可以是任意數據類型。
(4)JavaScript規定,訪問不存在的屬性不報錯,而是返回 undefined。
2.2 刪除屬性(1)delete運算符用來刪除對象屬性,事實上delete只是斷開屬性和宿主對象的聯系,并沒有真正的刪除。
(2)delete運算符只能刪除自有屬性,不能刪除繼承屬性。要刪除繼承屬性必須從定義這個屬性的原型對象上刪除,而且這會影響到所有繼承自這個原型的對象。
(3)delete運算符用來刪除對象屬性,如果刪除成功或所刪除的項目不存在,delete將返回 true。
(4)注意,并不是所有的屬性都可以刪除,一些內置核心和客戶端屬性是不能刪除的,通過var語句聲明的變量不能刪除,通過function語句定義的函數也是不能刪除的。
2.3 檢測屬性JavaScript對象可以看做屬性的集合,我們經常會檢測集合中成員的所屬關系(判斷某個屬性是否存在于某個對象中)。2.3.1 in運算符
(1)可以通過 in 運算符、hasOwnPreperty() 和 propertyIsEnumerable() 來完成這個工作,甚至僅通過屬性查詢也可以做到這一點。
(2)in 運算符的左側是屬性名(字符串),右側是對象。如果對象的自有屬性或繼承屬性中包含這個屬性則返回true。
2.3.2 hasOwnProperty()方法(1)hasOwnProperty()方法,用來檢測給定的名字是否是對象的自有屬性。對于繼承屬性它將返回 false。
三、方法是能夠在對象上執行的動作 四、對象創建有以下三種方式來創建對象,包括 ①new構造函數、②對象直接量和③Object.create()函數。4.1 構造函數 4.1.1 系統自帶
(1)new Object(), Array(), Number(),Boolean(), Date()...
(2)使用new操作符后跟Object構造函數用以初始化一個新創建的對象。
4.1.2 自定義(1)為了和普通函數區分,首字母大寫,采用大駝峰式寫法(普通函數采用小駝峰式寫法)。
(2)內部原理
4.2 對象字面量(1)javascript提供了叫做字面量的快捷方式,用于創建大多數原生對象值。使用字面量只是隱藏了與使用new操作符相同的基本過程,于是也可以叫做語法糖。
4.3 Object.create() 4.3.1 語法 4.3.2 沒有原型的對象(1)可以通過傳入參數 null 來創建一個沒有原型的新對象,但通過這種方式創建的對象不會繼承任何屬性和方法,甚至不包括基礎方法,比如toString()和valueOf()。
4.3.3 普通的空對象(1)如果想創建一個普通的空對象(比如通過{}或new Object()創建的對象),需要傳入Object.prototype。
閱讀更多
參考文章
深入理解javascript對象系列第一篇——初識對象
JavaScript中的對象
js之對象(經典)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/95105.html
摘要:對象數組初始化表達式,闖關記之上文檔對象模型是針對和文檔的一個。闖關記之數組數組是值的有序集合。數組是動態的,根闖關記之語法的語法大量借鑒了及其他類語言如和的語法。 《JavaScript 闖關記》之 DOM(下) Element 類型 除了 Document 類型之外,Element 類型就要算是 Web 編程中最常用的類型了。Element 類型用于表現 XML 或 HTML 元素...
摘要:理解的函數基礎要搞好深入淺出原型使用原型模型,雖然這經常被當作缺點提及,但是只要善于運用,其實基于原型的繼承模型比傳統的類繼承還要強大。中文指南基本操作指南二繼續熟悉的幾對方法,包括,,。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。 怎樣使用 this 因為本人屬于偽前端,因此文中只看懂了 8 成左右,希望能夠給大家帶來幫助....(據說是阿里的前端妹子寫的) this 的值到底...
摘要:對象在中,除了數字字符串布爾值這幾個簡單類型外,其他的都是對象。那么在函數對象中,這兩個屬性的有什么區別呢表示該函數對象的原型表示使用來執行該函數時這種函數一般成為構造函數,后面會講解,新創建的對象的原型。這時的函數通常稱為構造函數。。 本文原發于我的個人博客,經多次修改后發到sf上。本文仍在不斷修改中,最新版請訪問個人博客。 最近工作一直在用nodejs做開發,有了nodejs,...
摘要:然后將構造函數的原型設為,便實現了對象繼承。首先,我們定義一個構造函數,并在其中定義一個局部變量。這里的是局部變量,其作用域仍然存在是閉包現象,而非對象屬性。 Javascript是動態的,弱類型的,解釋執行的程序設計語言。 Javascript極其靈活,支持多種程序設計范式:面向對象、指令式、函數式。JavaSCript最初被用于瀏覽器腳本,現在已經是所有主流瀏覽器的默認腳本語言。瀏...
摘要:可嵌入動態文本于頁面,對瀏覽器事件作出響應,讀寫元素,控制等。年月,發布了一款面向普通用戶的新一代的瀏覽器版,市場份額一舉超過。網景將這門語言作為標準提交給了歐洲計算機制造協會。線程和的并發執行都是線程安全的。后面會詳細講解對象類型的轉換。 本文由云+社區發表作者:殷源,專注移動客戶端開發,微軟Imagine Cup中國區特等獎獲得者 JavaScript越來越多地出現在我們客戶端開...
摘要:在中,并沒有對抽象類和接口的支持。例如,當對象需要對象的能力時,可以有選擇地把對象的構造器的原型指向對象,從而達到繼承的效果。本節內容為設計模式與開發實踐第一章筆記。 動態類型語言 編程語言按數據類型大體可以分為兩類:靜態類型語言與動態類型語言。 靜態類型語言在編譯時已確定變量類型,動態類型語言的變量類型要到程序運行時,待變量被賦值后,才具有某種類型。 而JavaScript是一門典型...
閱讀 1172·2021-11-24 09:39
閱讀 2675·2021-09-28 09:35
閱讀 1070·2019-08-30 15:55
閱讀 1361·2019-08-30 15:44
閱讀 880·2019-08-29 17:00
閱讀 1969·2019-08-29 12:19
閱讀 3311·2019-08-28 18:28
閱讀 690·2019-08-28 18:10