真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

使用JavaScript怎么在面向?qū)ο笾袆?chuàng)建對(duì)象

這篇文章主要為大家詳細(xì)介紹了使用JavaScript怎么在面向?qū)ο笾袆?chuàng)建對(duì)象,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,發(fā)現(xiàn)的小伙伴們可以參考一下:

創(chuàng)新互聯(lián)公司網(wǎng)站設(shè)計(jì),為客戶量身定制各類(lèi)網(wǎng)站建設(shè)業(yè)務(wù),包括企業(yè)型、電子商務(wù)型、成都響應(yīng)式網(wǎng)站建設(shè)公司、行業(yè)門(mén)戶型等各類(lèi)網(wǎng)站,實(shí)戰(zhàn)經(jīng)驗(yàn)豐富,成功案例眾多。以客戶利益為出發(fā)點(diǎn),創(chuàng)新互聯(lián)公司網(wǎng)站制作為客戶規(guī)劃、按需策劃符合企業(yè)需求、帶有營(yíng)銷(xiāo)價(jià)值的網(wǎng)絡(luò)建站方案認(rèn)真對(duì)待每一個(gè)客戶,我們不用口頭的語(yǔ)言來(lái)吹擂我們的優(yōu)秀,近千家的成功案例見(jiàn)證著我們的成長(zhǎng)。

JavaScript可以做什么

1.可以使網(wǎng)頁(yè)具有交互性,例如響應(yīng)用戶點(diǎn)擊,給用戶提供更好的體驗(yàn)。 2.可以處理表單,檢驗(yàn)用戶的輸入,并提供及時(shí)反饋節(jié)省用戶時(shí)間。 3.可以根據(jù)用戶的操作,動(dòng)態(tài)的創(chuàng)建頁(yè)面。 4使用JavaScript可以通過(guò)設(shè)置cookie存儲(chǔ)在瀏覽器上的一些臨時(shí)信息。

創(chuàng)建對(duì)象的幾種常用方式

1.使用Object或?qū)ο笞置媪縿?chuàng)建對(duì)象

2.工廠模式創(chuàng)建對(duì)象

3.構(gòu)造函數(shù)模式創(chuàng)建對(duì)象

4.原型模式創(chuàng)建對(duì)象

1.使用Object或?qū)ο笞置媪縿?chuàng)建對(duì)象

使用object

var student = new Object();
student.name = "easy";
student.age = "20";

使用字面量

var sutdent = {
 name : "easy",
 age : 20
};

2.工廠模式創(chuàng)建對(duì)象

function createStudent(name, age) {
 var obj = new Object();
 obj.name = name;
 obj.age = age;
 return obj;
}
var student1 = createStudent("easy1", 20);
var student2 = createStudent("easy2", 20);
...
var studentn = createStudent("easyn", 20);

3.構(gòu)造函數(shù)模式創(chuàng)建對(duì)象

在上面創(chuàng)建Object這樣的原生對(duì)象的時(shí)候,我們就使用過(guò)其構(gòu)造函數(shù)

var obj = new Object();

在創(chuàng)建原生數(shù)組Array類(lèi)型對(duì)象時(shí)也使用過(guò)其構(gòu)造函數(shù):

var arr = new Array(10); //構(gòu)造一個(gè)初始長(zhǎng)度為10的數(shù)組對(duì)象

我們首先了解一下構(gòu)造函數(shù)和普通函數(shù)有什么區(qū)別。

1、實(shí)際上并不存在創(chuàng)建構(gòu)造函數(shù)的特殊語(yǔ)法,其與普通函數(shù)唯一的區(qū)別在于調(diào)用方法。對(duì)于任意函數(shù),使用new操作符調(diào)用,那么它就是構(gòu)造函數(shù);不使用new操作符調(diào)用,那么它就是普通函數(shù)。

2、按照慣例,我們約定構(gòu)造函數(shù)名以大寫(xiě)字母開(kāi)頭,普通函數(shù)以小寫(xiě)字母開(kāi)頭,這樣有利于顯性區(qū)分二者。例如上面的new Array(),new Object()。

3、使用new操作符調(diào)用構(gòu)造函數(shù)時(shí),會(huì)經(jīng)歷(1)創(chuàng)建一個(gè)新對(duì)象;(2)將構(gòu)造函數(shù)作用域賦給新對(duì)象(使this指向該新對(duì)象);(3)執(zhí)行構(gòu)造函數(shù)代碼;(4)返回新對(duì)象;4個(gè)階段。

ok,了解了構(gòu)造函數(shù)和普通函數(shù)的區(qū)別之后,我們使用構(gòu)造函數(shù)將工廠模式的函數(shù)重寫(xiě),并添加一個(gè)方法屬性:

function Student(name, age) {
 this.name = name;
 this.age = age;
 this.alertName = function(){
  alert(this.name)
 };
}
function Fruit(name, color) {
 this.name = name;
 this.color = color;
 this.alertName = function(){
  alert(this.name)
 };
}

這樣我們?cè)俜謩e創(chuàng)建Student和Fruit的對(duì)象

var v1 = new Student("easy", 20);
var v2 = new Fruit("apple", "green");

這時(shí)我們?cè)賮?lái)用instanceof操作符來(lái)檢測(cè)以上對(duì)象類(lèi)型就可以區(qū)分出Student以及Fruit了:

alert(v1 instanceof Student); //true
alert(v2 instanceof Student); //false
alert(v1 instanceof Fruit); //false
alert(v2 instanceof Fruit); //true
alert(v1 instanceof Object); //true 任何對(duì)象均繼承自O(shè)bject
alert(v2 instanceof Object); //true 任何對(duì)象均繼承自O(shè)bject

可以將上面的函數(shù)簡(jiǎn)化:Student和Fruit對(duì)象中共有同樣的方法移到構(gòu)造函數(shù)外部

function Student(name, age) {
 this.name = name;
 this.age = age;
}
function Fruit(name, color) {
 this.name = name;
 this.color = color;
};
function alertName() {
 alert(this.name);
}

我們通過(guò)將alertName()函數(shù)定義為全局函數(shù),這樣對(duì)象中的alertName屬性則被設(shè)置為指向該全局函數(shù)的指針。由此stu1和stu2共享了該全局函數(shù),解決了內(nèi)存浪費(fèi)的問(wèn)題

但是,通過(guò)全局函數(shù)的方式解決對(duì)象內(nèi)部共享的問(wèn)題,終究不像一個(gè)好的解決方法。如果這樣定義的全局函數(shù)多了,我們想要將自定義對(duì)象封裝的初衷便幾乎無(wú)法實(shí)現(xiàn)了。

更好的方案是通過(guò)原型對(duì)象模式來(lái)解決。

4.原型的模式創(chuàng)建對(duì)象

原型鏈甚至原型繼承,是整個(gè)JS中最難的一部分也是最不好理解的一部分,在這里由于我們課程定位的原因,如果對(duì)js有興趣的同學(xué),可以去查閱一下相關(guān)JS原型的一些知識(shí)點(diǎn)。

function Student() {
  this.name = 'easy';
  this.age = 20;
}
Student.prototype.alertName = function(){
  alert(this.name);
};
var stu1 = new Student();
var stu2 = new Student();
stu1.alertName(); //easy
stu2.alertName(); //easy
alert(stu1.alertName == stu2.alertName); //true 二者共享同一函數(shù)

以上就是創(chuàng)新互聯(lián)小編為大家收集整理的使用JavaScript怎么在面向?qū)ο笾袆?chuàng)建對(duì)象,如何覺(jué)得創(chuàng)新互聯(lián)網(wǎng)站的內(nèi)容還不錯(cuò),歡迎將創(chuàng)新互聯(lián)網(wǎng)站推薦給身邊好友。


網(wǎng)站名稱(chēng):使用JavaScript怎么在面向?qū)ο笾袆?chuàng)建對(duì)象
文章位置:http://weahome.cn/article/jjcppj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部