成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

JavaScript如何自定義對象

自定義方法:1、直接通過“屬性名/值”來創(chuàng)建,語法“var 對象名={屬性名:屬性值};”;2、使用“var 對象名=new 構(gòu)造函數(shù)名(args);”語句;3、使用“Object.create(原型對象,descriptors)”語句。

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供連山網(wǎng)站建設(shè)、連山做網(wǎng)站、連山網(wǎng)站設(shè)計、連山網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、連山企業(yè)網(wǎng)站模板建站服務(wù),十年連山做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

在Js中,除了Array、Date、Number等內(nèi)置對象外,開發(fā)者可以通過Js代碼創(chuàng)建自己的對象。

對象特性

① 結(jié)構(gòu)類似'字典' :對象的屬性類似鍵/值對;屬性的名稱為字符串,屬性的值為任意類型。

② 原型繼承:Js的對象可繼承原型的屬性。

③ 動態(tài)結(jié)構(gòu):可動態(tài)新增、刪除對象的屬性。

④ 引用類型:js中的對象為引用類型。a為一個對象,b=a,修改b也會造成a的修改。

創(chuàng)建對象方式

Js中創(chuàng)建自定義對象,主要通過三種方式:對象直接量、new 構(gòu)造函數(shù)以及Object.create()方法。每一種創(chuàng)建方式繼承的原型對象都不同:

① 對象直接量:原型為Object.prototype。

② new 構(gòu)造函數(shù):原型為構(gòu)造函數(shù)的prototype屬性。

③ Object.create():原型為傳入的第一個參數(shù),若第一個參數(shù)為null,以O(shè)bject.prototype為原型。

1、對象直接量

說明:直接通過 屬性名/值來創(chuàng)建。

語法:var o = { name:'tom', age:22 };

原型:Object.prototype

適用場景:應(yīng)用在某一特定的作用域里。

示例:

var o = { name: 'tom'}console.log(o.constructor.prototype); // => Object() :對象直接量的原型為Objectconsole.log(o.constructor.prototype === Object.prototype); // true

2、new 構(gòu)造函數(shù)

說明:構(gòu)造函數(shù)也是種函數(shù),但為了區(qū)分平常所用的函數(shù),構(gòu)造函數(shù)的函數(shù)名采用大駱駝峰寫法(首字母大寫)。

語法:var o = new ClassName();

原型:構(gòu)造函數(shù)的prototype屬性。

示例:

// 1.創(chuàng)建構(gòu)造函數(shù)function People(name) { this.name;}var p = new People('Tom');console.log(p.constructor.prototype); // => People{} :原型為構(gòu)造函數(shù)的prototypeconsole.log(p.constructor.prototype === People.prototype); // => true// 2.自定義對象的多層繼承 :constructor返回最先調(diào)用的構(gòu)造函數(shù) function Student(age) { this.age = age;}Student.prototype = new People(); // 設(shè)置Student的原型為People對象var s = new Student(22); // 對象初始化時,先調(diào)用People(),再調(diào)用Student()console.log(s.constructor); // => function People :對象s返回的構(gòu)造函數(shù)為Peopleconsole.log(s.constructor.prototype); // => People{} :原型對象為Peopleconsole.log(s.constructor.prototype === People.prototype); // => true

3、Object.create(prototype, propertyDescriptor) :ECMAScript 5規(guī)范

說明:創(chuàng)建并返回一個指定原型和指定屬性的對象。

語法:Object.create(prototype, propertyDescriptor)

參數(shù):

①prototype {prototype} :創(chuàng)建對象的原型,可以為null。若為null,對象的原型為undefined。

②propertyDescriptor {propertyDescriptor} 可選:屬性描述符。

原型:默然原型型為①參;若①參為null,對象的原型為undefined。

示例:

// 1.建立一個原型為null的對象var o = Object.create(null, { name: { value: 'tom' }});console.log(o.constructor); // => undefined // 2.創(chuàng)建一個原型為Array的對象var array = Object.create(Array.prototype, {});console.log(array.constructor); // => function Array 構(gòu)造函數(shù) console.log(array.constructor.prototype); // => [] :原型對象為數(shù)組// 3.創(chuàng)建一個原型為自定義類的對象function People() { }var p = Object.create(People.prototype, {});console.log(p.constructor); // => function People 構(gòu)造函數(shù) console.log(p.constructor.prototype); // => People{} :原型對象People

【相關(guān)推薦:javascript學(xué)習(xí)教程】

標(biāo)題名稱:JavaScript如何自定義對象
網(wǎng)頁鏈接:http://jinyejixie.com/article14/cphede.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站微信公眾號、動態(tài)網(wǎng)站網(wǎng)站排名網(wǎng)站制作、定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
夏邑县| 泰州市| 海门市| 元朗区| 阿巴嘎旗| 金华市| 纳雍县| 铁岭市| 麻江县| 左权县| 当涂县| 佛冈县| 积石山| 应用必备| 上虞市| 鄂托克旗| 揭西县| 扶沟县| 永新县| 伊川县| 潜山县| 和政县| 巫山县| 定远县| 新沂市| 上饶市| 固安县| 延边| 泸溪县| 秭归县| 轮台县| 岑巩县| 溆浦县| 科技| 井研县| 运城市| 于田县| 海林市| 应城市| 华宁县| 堆龙德庆县|