在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用JavaScript創建對象的方法和案例

如意 ? 來源:讀芯術 ? 作者:讀芯術 ? 2020-07-06 09:41 ? 次閱讀

Javascript中的一切幾乎都是對象,無論是數組還是函數。本文將教你使用JavaScript創建對象的三種方法。

對象字面量

JavaScript對象字面量是指用大括號括起來的用逗號分隔的名稱——值對列表。對象字面量用于封裝代碼并將其包裝在有序的包中。

let Person = {

name: “Foziya”,

age: 20,

action: [“walk”, “ run”],

greeting: function() {

console.log(“Hello”);

}

};

對象字面量的屬性值可以是任何數據類型,包括數組字面量、函數字面量和嵌套對象字面量。

let shape = {

name: “rectangle”,

color: “red”,

size: {

length: 10,

breadth: 20

}

};

console.log(shape);

// { name:‘rectangle’,

// color: ‘red’,

// size: { length:10, breadth: 20 } }

console.log(shape.size.length)

// 10

簡寫屬性名稱

假設必須將不同的變量放在一個對象內,有一種方法是:

let one = 1;

let two = 2;

let three = 3;

let numbers = {

one: one,

two: two,

three: three

};

console.log(numbers);

//{ one: 1, two: 2, three: 3 }

使用ECMAScript 2015,可通過較短的表示法實現相同的目的:

let one = 1;

let two = 2;

let three = 3;

let numbers = { one, two, three };

console.log(numbers);

//{ one: 1, two: 2, three: 3 }

console.log(numbers.one)

// 1

console.log(numbers.one === { one }.one);

// true

用戶定義的構造函數

你也可以使用函數在JavaScript中創建對象。仔細想,其實它們本身已經是對象了,因此對象用于創建更多對象。

通常,此方法優于對象構造函數。試想必須創建數百個具有相同屬性的對象,使用對象構造函數方法,必須手動將所有屬性添加到所有對象,但是使用構造函數可以預定義這些屬性。

functionmovies(name, releaseYear, genre, ratings) {

this.name = name;

this.releaseYear =releaseYear;

this.genre = genre;

this.ratings =ratings;

this.watch = () =》 {

console.log(“WatchOnline”);

};

}

let DPS = new movies(“Dead Poets Society”, 1989, [“Drama”, “Teen”], {

IMDb: “8.1 /10”,

Metacritic: “79%”

});

console.log(DPS);movies {

// name: ‘Dead Poets Society’,

// releaseYear: 1989,

// genre: [‘Drama’,‘Teen’],

// ratings: { IMDb:‘8.1 / 10’, Metacritic: ‘79%’ },

// watch: [Function]

// }

let rocky = new movies(“Rocky”, 1976, [“Drama”, “Sports”], {

IMDb: “8.1 /10”,

Metacritic: “70%”

});

console.log(rocky);

// movies {

// name: ‘Rocky’,

// releaseYear: 1976,

// genre: [‘Drama’,‘Sports’],

// ratings: { IMDb:‘8.1 / 10’, Metacritic: ‘70%’ },

// watch: [Function]

// }

使用相同的構造函數,可以創建任意數量的對象。

重復的屬性名稱

如果兩個屬性使用相同的名稱,則第二個屬性將覆蓋第一個屬性。

let Person = {

name: “NeyVatsa”,

name: “Shashank”

};

console.log(Person.name);

// Shashank

New關鍵字

對象構造函數為給定值創建一個對象封裝器。如果該值不存在或未定義,它將創建并返回至一個空對象。否則的話,它將返回至一個與給定值類型一致的對象。

也可以使用new關鍵字創建對象。使用Javascript中的內置對象構造函數,創建一個新的空對象;或者,此關鍵字可以與用戶定義的構造函數一起使用。首先來看一個例子:

let movies = newObject();

console.log(movies)

//{}

下一步是向此空對象添加屬性和方法,可通過簡單的點標記來實現:

let movies = newObject();

console.log(movies)

//{}

movies.name = “Dead Poets Society”;

movies.releaseYear = 1989;

movies.genre = [“Drama”, “Teen”];

movies.ratings = {

IMDb: “8.1 /10”,

Metacritic: “79%”

};

movies.watch = () =》 {

console.log(“WatchOnline”);

};

console.log(movies);

// { name: ‘Dead Poets Society’,

// releaseYear: 1989,

// genre: [ ‘Drama’, ‘Teen’ ],

// ratings: { IMDb: ‘8.1 / 10’,Metacritic: ‘79%’ },

// watch: [Function] }

movies.watch();

// Watch Online

但我不建議這種做法,因為后臺有作用域解析,可以檢查構造函數是內置的還是用戶定義的。

使用ES6類創建對象

此方法與通過用戶定義的構造函數使用new關鍵字非常類似。類是面向對象編程(OOP)的主要組件,可以創建實際上是對象的許多類實例。在ES6規范的支持下,現在可以用類替換構造函數。

classMovies {

constructor(name,releaseYear, genre, ratings) {

this.name = name;

this.releaseYear = releaseYear;

this.genre = genre;

this.ratings =ratings;

}

watch() {

console.log(“WatchOnline”);

}

}

let rocky = new Movies(“Rocky”, 1976, [“Drama”, “Sports”], {

IMDb: “8.1 /10”,

Metacritic: “70%”

});

console.log(rocky);

// Movies {

// name: ‘Rocky’,

// releaseYear: 1976,

// genre: [‘Drama’,‘Sports’],

// ratings: { IMDb:‘8.1 / 10’, Metacritic: ‘70%’ }

// }

rocky.watch();

//Watch Online

上面示例中,我已經定義了構造函數中的所有參數。方法可以是類的一部分,而聲明可以稍后添加到類的創建實例中,成為“對象”:

/*

above example

*/

rocky.buy = function() {

console.log(“Buy theMovie”);

};

rocky.buy();

// Buy the Movie

而這里方法是對象的一部分,不會影響原始類。

在JavaScript這一基于原型的繼承語言中,類和構造函數都模仿面向對象的繼承模型。熟悉類非常有幫助,React這樣的流行JavaScript庫會經常使用類句法。

你掌握了嗎?

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編程
    +關注

    關注

    88

    文章

    3682

    瀏覽量

    94878
  • 對象
    +關注

    關注

    1

    文章

    38

    瀏覽量

    17506
  • javascript
    +關注

    關注

    0

    文章

    525

    瀏覽量

    54510
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    JavaScript權威指南 pdf 下載

    移植的DHTML動畫等常見任務。本書還包括詳細的參考手冊,涵蓋了JavaScript的核心API、遺留的客戶端API和W3C標準DOM API,記述了這些API中的每一個JavaScript對象
    發表于 12-08 10:46

    JavaScript中的Object

    ,所以 sayName 方法的引?指向的是同一個堆內存對象。● 書中是這樣寫的:使?動態原型模式時,不能使用對象字?量重寫原型。前面已經解釋過了,如果在已經創建了實例的情況下重寫原型,
    發表于 09-18 09:05

    Math對象屬性和方法

    valueOf() 方法返回 Math 對象的原始值。該原始值由 Math 對象派生的所有對象繼承。valueOf() 方法通常由
    發表于 10-27 12:21

    JavaScript 【2】對象

    (), 它會返回函數的定義:實例objectName.methodName有多種方式可以創建,使用和修改 JavaScript 對象。同樣也有多種方式用來創建,使用和修改屬性和
    發表于 07-17 10:33

    JavaScript【8】JSON

    ;www.taobao.com"} ]} JSON 格式化后為 JavaScript 對象JSON 格式在語法上與創建 JavaScript 對象
    發表于 07-17 10:45

    如何用java映射創建java對象和調用java對象

    java是一種解析語言,java程序是通過java虛擬機解析.class的方式運行起來。因此,java中就存在java映射的概念。下面介紹如何用java映射創建java對象和調用java對象
    發表于 04-11 14:43

    java如何創建對象的分析

    作為Java開發者,我們每天創建很多對象,但我們通常使用依賴管理系統,比如Spring去創建對象。然而這里有很多創建
    發表于 09-27 14:36 ?0次下載

    實例分析Java中創建對象

    Java中有5種創建對象的方式,下面給出它們的例子還有它們的字節碼 Paste_Image.png 如果你運行了末尾的的程序,你會發現方法1,2,3用構造函數創建
    發表于 09-28 13:29 ?0次下載

    JavaScript創建對象的方式

    JavaScript中有幾種創建對象的方式,本文將一一介紹,工廠模式、構造函數模式、原型模式、動態原型模式、組合使用構造函數模式和原型模式。
    的頭像 發表于 02-22 09:32 ?3997次閱讀
    <b class='flag-5'>JavaScript</b><b class='flag-5'>創建</b><b class='flag-5'>對象</b>的方式

    淺談JavaScript創建對象的3種方法

    在OOP中,對象文字是指用大括號括起來的用逗號分隔的名稱 - 值對列表。名稱是字符串,值是可用的任何基本數據類型,例如數組,字符串,數字,函數等等。
    發表于 01-01 15:05 ?795次閱讀
    淺談<b class='flag-5'>JavaScript</b><b class='flag-5'>創建</b><b class='flag-5'>對象</b>的3種<b class='flag-5'>方法</b>

    使用簡單工廠方法實現硬盤對象創建

    簡單工廠方法定義一個用于創建對象的類,該類接受一個參數,通過參數決定創建不同的對象
    的頭像 發表于 05-14 14:07 ?1437次閱讀

    JavaScript中動態的創建QML對象

    在實際QML應用開發中,我們可以在JavaScript中動態的創建QML對象。這樣做可以延遲對象的實例化,當我們在需要創建
    的頭像 發表于 09-01 10:42 ?1802次閱讀

    Java反射技術實現對象創建

    一. 基礎概念 Java中,一般我們創建一個對象可能會選擇new一下個實例。但是隨著我們技術的不斷提升,我們也學習到了,可以通過反射技術實現對象創建。 可是,你有沒有想一下,什么時候
    的頭像 發表于 05-22 14:25 ?2517次閱讀
    Java反射技術實現<b class='flag-5'>對象</b>的<b class='flag-5'>創建</b>

    javascript的內置對象有哪些

    你全面了解JavaScript的能力和應用場景。 一、基本數據類型對象: String(字符串對象):用于處理和操作文本數據。 Number(數字對象):用于處理和操作數字數據。 Bo
    的頭像 發表于 12-03 11:39 ?1614次閱讀

    vb運行時錯誤429不能創建對象

    系統中已經安裝了對象所依賴的組件或庫。如果缺少這些組件或庫,就會導致不能創建對象的錯誤。解決這個問題的方法是安裝所需的組件或庫。 對象的類或
    的頭像 發表于 01-09 11:07 ?3056次閱讀
    主站蜘蛛池模板: 爱爱的免费视频 | 美欧毛片 | 四虎精品影院永久在线播放 | 男女性生动态免费视频 | 日本三区四区免费高清不卡 | 神马午夜在线观看 | 免费看吻胸亲嘴激烈网站 | 性欧美xxxx视频在线观看 | 华人被黑人粗大猛然进 | 3344在线观看永久免费 | 超级狂色而且免费又超好看 | 99国产国人青青视频在线观看 | 婷婷久久五月天 | 国产成年女一区二区三区 | 免费看欧美一级特黄a大片 免费看欧美一级特黄a大片一 | 男人天堂综合网 | 午夜在线免费视频 | 优优色综合| 国产免费黄视频 | 亚洲二区在线 | 天天综合色天天桴色 | 美女流白浆网站 | 深夜久久 | 免费日本黄色 | 年下攻高h好涨 | 天天艹天天艹 | 一级特黄毛片 | 久久久噜噜噜久久网 | 午夜男人网 | 男人的天堂黄色 | 91操碰| 日韩欧美在线中文字幕 | 色婷婷狠狠久久综合五月 | 天堂网在线资源www种子 | 夜夜爽一区二区三区精品 | 欧美一卡二三卡四卡不卡 | 国产精品久久久久久久免费大片 | h在线免费视频 | 在线电影天堂 | 69xxx欧美| 久久综合色视频 |