摘要:通過字面量定義的對(duì)象年月日或者通過方法來創(chuàng)建一個(gè)對(duì)象年月日可以看到,中函數(shù)的作用相當(dāng)于中類的作用,那么在中一句很重要的話就是,對(duì)象都是通過函數(shù)創(chuàng)建的。比如,數(shù)組是一個(gè)函數(shù)對(duì)象都是由函數(shù)創(chuàng)建的比如,函數(shù)函數(shù)就作為對(duì)象被賦值了兩個(gè)屬性
面向?qū)ο笫钱?dāng)代編程的主流思想。無論是C++還是Java,都是面向?qū)ο蟮?。?yán)格意義上來講,JavaScript并不是面向?qū)ο蟮模?但Javascript的靈活性足以讓我們將其用作一門面向?qū)ο笳Z言.
JavaScript是一種沒有類的,面向?qū)ο蟮恼Z言。它使用原型繼承來代替類繼承。在學(xué)習(xí)原型繼承前,我們來了解一下在javascript中對(duì)象的概念。可以先告訴大家,javascript的對(duì)象是不同于 Java, C++中對(duì)象的概念的。
學(xué)過java或者C++的人都知道,對(duì)象是什么、對(duì)象是怎樣產(chǎn)生的。為了和javascript中的對(duì)象進(jìn)行比較,還是舉一個(gè)java下對(duì)象的例子
class person{ string name; string birthday; public void sayhello{ System.out.println("hi,I am "+name+",I was born in "+birthday); } } person Amy=new person();
在java或C++里,對(duì)象是new一個(gè)class出來的,里面有字段,屬性,方法.
但是在javascript中,對(duì)象里面的一切都是屬性,只有屬性,沒有方法。那么方法如何表示呢?方法也是一種屬性,表示為鍵值對(duì)的形式。
/通過字面量定義的對(duì)象 var Amy = { name : "Amy", birthday : "1997年1月1日", say_hello : function(){ console.log( "hi,I am "+name+",I was born in "+birthday); } };
或者通過方法來創(chuàng)建一個(gè)對(duì)象:
function person() { name : "Amy", birthday : "1997年1月1日", say_hello : function(){ console.log( "hi,I am "+name+",I was born in "+birthday); } } var Amy = new person();
可以看到,javascript中function(函數(shù))的作用相當(dāng)于java中class(類)的作用,那么在javascript中一句很重要的話就是,
對(duì)象都是通過函數(shù)創(chuàng)建的。javascript的數(shù)據(jù)有兩種,簡(jiǎn)單數(shù)據(jù)和復(fù)雜數(shù)據(jù)。簡(jiǎn)單數(shù)據(jù)有undefined,null,boolean,number和string這五種。復(fù)雜數(shù)據(jù)只有一種,即對(duì)象(object)。
那么,在javascript中,數(shù)組是對(duì)象,函數(shù)也是對(duì)象。
比如,數(shù)組:var mycars=new Array();//Array()是一個(gè)函數(shù),對(duì)象都是由函數(shù)創(chuàng)建的 mycars[0]="Saab" mycars[1]="Volvo" mycars[2]="BMW"比如,函數(shù):
var fn = function () { alert(100); }; fn.a = 10; fn.b = function () { alert(123); }//函數(shù)就作為對(duì)象被賦值了a、b兩個(gè)屬性
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/88925.html
摘要:屬性名可以是包含空字符串在內(nèi)的任意字符串,但對(duì)象中不能存在兩個(gè)同名的屬性。客戶端中表示網(wǎng)頁結(jié)構(gòu)的對(duì)象均是宿主對(duì)象。這里的函數(shù)稱做構(gòu)造函數(shù),構(gòu)造函數(shù)用以初始化一個(gè)新創(chuàng)建的對(duì)象。通過關(guān)鍵字和構(gòu)造函數(shù)調(diào)用創(chuàng)建的對(duì)象的原型就是構(gòu)造函數(shù)的屬性的值。 對(duì)象是 JavaScript 的數(shù)據(jù)類型。它將很多值(原始值或者其他對(duì)象)聚合在一起,可通過名字訪問這些值,因此我們可以把它看成是從字符串到值的映射...
摘要:對(duì)象是的數(shù)據(jù)類型。對(duì)象是動(dòng)態(tài)的,可以隨時(shí)新增和刪除自有屬性??蛻舳酥斜硎揪W(wǎng)頁結(jié)構(gòu)的對(duì)象均是宿主對(duì)象。提供第二個(gè)可選參數(shù),用以對(duì)對(duì)象的屬性進(jìn)行進(jìn)一步描述。沒有原型的對(duì)象為數(shù)不多,就是其中之一。運(yùn)算符的左側(cè)是屬性名字符串,右側(cè)是對(duì)象。 對(duì)象是 JavaScript 的數(shù)據(jù)類型。它將很多值(原始值或者其他對(duì)象)聚合在一起,可通過名字訪問這些值,因此我們可以把它看成是從字符串到值的映射。對(duì)象是...
摘要:在中函數(shù)是一等對(duì)象,它們不被聲明為任何東西的一部分,而所引用的對(duì)象稱為函數(shù)上下文并不是由聲明函數(shù)的方式?jīng)Q定的,而是由調(diào)用函數(shù)的方式?jīng)Q定的。更為準(zhǔn)確的表述應(yīng)該為當(dāng)對(duì)象充當(dāng)函數(shù)的調(diào)用函數(shù)上下文時(shí),函數(shù)就充當(dāng)了對(duì)象的方法。 引言:當(dāng)理解了對(duì)象和函數(shù)的基本概念,你可能會(huì)發(fā)現(xiàn),在JavaScript中有很多原以為理所當(dāng)然(或盲目接受)的事情開始變得更有意義了。 1.JavaScript...
摘要:都是構(gòu)造函數(shù)模式創(chuàng)建的原生構(gòu)造函數(shù)。使用構(gòu)造函數(shù)創(chuàng)建對(duì)象經(jīng)歷了以下四個(gè)過程創(chuàng)建一個(gè)新對(duì)象構(gòu)造函數(shù)的作用域交給新對(duì)象。 ??在創(chuàng)建對(duì)象的時(shí)候,使用對(duì)象字面量和 new Object() 構(gòu)造函數(shù)的方式創(chuàng)建一個(gè)對(duì)象是最簡(jiǎn)單最方便的方式。但是凡是處于初級(jí)階段的事物都會(huì)不可避免的存在一個(gè)問題,沒有普適性,意思就是說我要為世界上(程序中)的所有使用到的對(duì)象都使用一遍 var xxx = {} ,...
摘要:都是構(gòu)造函數(shù)模式創(chuàng)建的原生構(gòu)造函數(shù)。使用構(gòu)造函數(shù)創(chuàng)建對(duì)象經(jīng)歷了以下四個(gè)過程創(chuàng)建一個(gè)新對(duì)象構(gòu)造函數(shù)的作用域交給新對(duì)象。 ??在創(chuàng)建對(duì)象的時(shí)候,使用對(duì)象字面量和 new Object() 構(gòu)造函數(shù)的方式創(chuàng)建一個(gè)對(duì)象是最簡(jiǎn)單最方便的方式。但是凡是處于初級(jí)階段的事物都會(huì)不可避免的存在一個(gè)問題,沒有普適性,意思就是說我要為世界上(程序中)的所有使用到的對(duì)象都使用一遍 var xxx = {} ,...
閱讀 2794·2021-11-22 13:54
閱讀 2731·2021-10-14 09:42
閱讀 4098·2021-09-28 09:47
閱讀 2197·2021-09-03 10:28
閱讀 1234·2021-07-26 23:38
閱讀 2590·2019-08-30 15:54
閱讀 2663·2019-08-29 16:35
閱讀 1453·2019-08-29 15:42