關於深入理解JavaScript中的對象的介紹
JavaScript是一種面向對象編程(OOP)語言。一種編程語言可以被稱爲面向對象的,它爲開發者提供了四種基本功能:
封裝 - 存儲相關的信息,無論是數據或方法,還是對象 聚合 - 存儲一個對象到另一個對象的內部 繼承 - 類的能力依賴於另一個類(或類數),用於其部分的屬性和方法 多態性 - 編寫函數或者方法,在各種不同的方式工作
對象是由屬性。如果屬性包含一個函數,它被認爲是一個對象的方法,否則,該屬性被認爲是一個屬性。
對象屬性:
對象的屬性可以是任何三種基本數據類型的,或者任何抽象數據類型,如另一個對象。對象屬性通常是內部使用的對象的方法的變量,但也可以是用於整個頁面全局可見的變量。
用於添加屬性的目的語法是:
ctProperty = propertyValue;
示例 :
下面是一個簡單的例子來說明如何利用“稱號”的文件對象的屬性來獲取文檔標題:
var str = e;
對象的方法:
方法是讓對象做某件事。一個函數和一個方法,所不同的是一個 function語句的一個獨立的單元和方法被附加到對象,並可以通過這個關鍵字被引用之間的`差別不大。
方法可用於一切從顯示對象的屏幕上的內容,以對一組本地的屬性和參數執行復雜的數學運算是有用的。
例子:
下面是一個簡單的例子來說明如何使用write()文檔對象的方法寫在文檔中的任何內容:
e("This is test");
用戶定義的對象:
所有用戶定義的對象和內置對象被稱爲對象的對象的後代。
new 操作符:
new運算符用於創建對象的實例。要創建一個對象,new運算符後面是構造方法。
在下面的例子中,構造方法Object(), Array(), 和 Date().。這些構造函數是內置的 JavaScript 函數。
var employee = new Object();var books = new Array("C++", "Perl", "Java");var day = new Date("August 15, 1947");
Object() 構造函數:
構造函數是用來創建和初始化對象的函數。 JavaScript提供了一個特殊的構造函數調用Object()來構建的對象。Object()構造的返回值被分配給一個變量。
變量包含一個引用到新的對象。分配給該對象的屬性是不變量,並且不使用var關鍵字來定義。
示例 1:
這個例子演示瞭如何創建一個對象:
var book = new Object(); // Create the object ect = "Perl"; // Assign properties to the object or = "Mohtashim";
e("Book name is : " + ect + ""); e("Book author is : " + or + "");
示例 2:
這個例子演示如何創建一個對象,一個用戶定義的函數。此處this關鍵字用於指已傳遞給函數的對象:
function book(title, author){ e = title; or = author;}
var myBook = new book("Perl", "Mohtashim"); e("Book title is : " + e + ""); e("Book author is : " + or + "");
定義方法的對象:
前面的示例演示瞭如何構造函數創建對象並分配屬性。但是,我們需要通過分配方法,以它來完成一個對象的定義。
例子:
下面是一個簡單的例子來說明如何與一個對象添加一個函數:
// Define a function which will work as a methodfunction addPrice(amount){ e = amount; }function book(title, author){ e = title; or = author; rice = addPrice; // Assign that method as property.}
var myBook = new book("Perl", "Mohtashim"); rice(100); e("Book title is : " + e + ""); e("Book author is : " + or + ""); e("Book price is : " + e + "");
with 關鍵字:
with關鍵字作爲一種速記的引用對象的屬性或方法。
指定爲參數的對象就成爲接下來的塊的持續時間的默認對象。爲對象的屬性和方法可以在不命名的對象。
語法
with (object){ properties used without the object name and dot}
例子:
// Define a function which will work as a methodfunction addPrice(amount){ with(this){ price = amount; }}function book(title, author){ e = title; or = author; e = 0; rice = addPrice; // Assign that method as property.}
var myBook = new book("Perl", "Mohtashim"); rice(100); e("Book title is : " + e + ""); e("Book author is : " + or + ""); e("Book price is : " + e + "");
相關文章
-
有關深入理解JavaScript中的並行處理的介紹
前言爲什麼說多線程如此重要?這是個值得思考的問題。一直以來,派生線程以一種優雅的方式實現了對同一個進程中任務的劃分。操作系統負責分配每個線程的時間片,具有高優先級並且任務繁重的線程將分配到更多的時間片,而低優 -
關於JavaScript中繼承的深入理解
JavaScript中我們可以藉助原型實現繼承。例如function baz(){="";}function foo(){}otype=new baz();var myFoo=new foo();;這樣我們就可以訪問到baz裏的屬性oo啦。在實際使用中這個樣不行滴,由於原型的共享特點(數據保 -
關於JavaScript中的包裝對象介紹
javascript對象是一種複合值,它是屬性或已命名的值的集合,通過符號"."來引用屬性值,當屬性值是一個函數的時候,我們稱之爲方法。我們看到字符串也具有屬性和方法: 複製代碼 代碼如下:var s="hello,world!";var word=trin -
深入理解Javascript中的this關鍵字
文章主要介紹了深入理解Javascript中的this關鍵字,本文講解了方法調用模式、函數調用模式、構造器調用模式、apply調用模式中this的不同之處,需要的朋友可以參考下,就跟隨本站小編一起去了解下吧,想了解更多相關信息請 -
javascript克隆對象深度介紹
js一般有兩種不同數據類型的值:基本類型(包括undefined,Null,boolean,String,Number),按值傳遞;引用類型(包括數組,對象),按址傳遞,引用類型在值傳遞的時候是內存中的地址。克隆或者拷貝分爲2種:淺度克隆:基本類型爲值傳遞,對象仍 -
javascript中js閉包的深入理解
閉包(closure)是Javascript語言的一個難點,也是它的特色,很多高級應用都要依靠閉包實現。本文是本站小編搜索整理的關於javascript中js閉包的深入理解,給大家做個參考,希望對大家有所幫助!想了解更多相關信息請持續關注我 -
javascript面向對象中的對象怎麼理解
javacript面向對象程序設計中,可以理解爲一切都是對象。實例代碼如下:複製代碼 代碼如下:function Cat(){}var cat1 = new Cat();//創建類實例 = "小狗"; = 4;r="白色";e();eln(tructor);//實例化後對象,是對象eln(typeo -
深入理解javaScript中事件驅動
javascript中的事件驅動是通過 鼠標或熱鍵 的動作引發的 主要事件如下:1、鼠標單擊事件 onclick通常用於如下控件:button 按鈕對象checkbox 複選框或檢查列表 --配合onclick單擊事件,通常用於全選效果radio 單選按紐rese -
淺談javascript深入理解js閉包
一、什麼是閉包?“官方”的解釋是:所謂“閉包”,指的是一個擁有許多變量和綁定了這些變量的環境的表達式(通常是一個函數),因而這些變量也是該表達式的一部分。相信很少有人能直接看懂這句話,因爲他描述的太學術。我想用 -
關於JavaScript中的類Class詳細介紹
在JavaScript中,可以使用類(Class)來實現面向對象編程(Object Oriented Programming)。不過,JavaScript中的類與Java中的有所不同,其相應的定義和使用也不一樣。JavaScript中類的定義在JavaScript中,所有從同一個原型對象