成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

javascript自定義對(duì)象以及創(chuàng)建對(duì)象的新類型(引用類型)

余學(xué)文 / 1511人閱讀

摘要:創(chuàng)建對(duì)象的新類型引用類型引用類型由三部分組成構(gòu)造函數(shù)方法定義屬性定義引用類型首先要?jiǎng)?chuàng)建構(gòu)造函數(shù),如下指代的就是每個(gè)對(duì)象都有屬性,但該屬性只對(duì)構(gòu)造函數(shù)有用,可以將看成對(duì)象的實(shí)際原型,賦給的任何屬性和方法對(duì)于對(duì)象都可用,和可以共享他們

1. javascript自定義對(duì)象

有一定js基礎(chǔ)的童鞋都知道怎么創(chuàng)造對(duì)象,在這篇文章中我想詳細(xì)的闡述一下。

創(chuàng)建對(duì)象--方法一
var obj=new Object()

該方法只需要使用new操作符后接Object構(gòu)造函數(shù)

創(chuàng)建對(duì)象--方法二
var obj={}

js提供了使用字面量語(yǔ)法來(lái)創(chuàng)建對(duì)象:一對(duì)花括號(hào){},字面量語(yǔ)法比較簡(jiǎn)潔,不需要new一個(gè)對(duì)象。

創(chuàng)建對(duì)象屬性并賦值
obj.first="a";
obj.second="b";

缺點(diǎn):js并不會(huì)告知屬性名是否有以外的拼寫(xiě)錯(cuò)誤,而只能用錯(cuò)誤的屬性名創(chuàng)建一個(gè)新的屬性名,這樣就會(huì)導(dǎo)致難以追蹤存在的錯(cuò)誤,所以創(chuàng)建屬性的時(shí)候要謹(jǐn)慎寫(xiě)錯(cuò)。

創(chuàng)建對(duì)象的方法

也可以用這種方法為方法賦值,只是說(shuō)賦的是函數(shù)而不是其他的類型值,如下:

obj.eat=function(){
console.log("eating");
}

function沒(méi)有名稱,稱為匿名函數(shù),就本身而言,匿名函數(shù)是一種錯(cuò)誤的語(yǔ)法,除非將它賦給一個(gè)變量
創(chuàng)建obj對(duì)象的完整代碼:

var obj={};
obj.first="a";
obj.second="b";
obj.eat=function(){
console.log("eating");
}

上述代碼用了4條語(yǔ)句完成一個(gè)完整的對(duì)象,如果用字面量符號(hào)法來(lái)定義整個(gè)對(duì)象,可以將一條語(yǔ)句縮減為一條語(yǔ)句。

var obj={
    first:"a",
    second:"b",
    eat:function(){
    return this.first+""+this.second;
    };
};

上述代碼采用屬性,冒號(hào),值的方式定義屬性和方法,注意使用逗號(hào)來(lái)分隔各個(gè)屬性和方法的。

2. 創(chuàng)建對(duì)象的新類型(引用類型) 引用類型由三部分組成

構(gòu)造函數(shù)

方法定義

屬性

定義引用類型

首先要?jiǎng)?chuàng)建構(gòu)造函數(shù),如下:

function person(first,second){
    this.first=first;
    this.second=second;
    this.prototype.eat=function(){
        console.log("eating");
    }
}

this指代的就是person, 每個(gè)對(duì)象都有prototype屬性,但該屬性只對(duì)構(gòu)造函數(shù)有用,可以將person.prototype看成person對(duì)象的實(shí)際原型,賦給person.prototype的任何屬性和方法對(duì)于person對(duì)象都可用,person1和person2可以共享他們

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/88394.html

相關(guān)文章

  • JavaScript繼承的六種方式

    這是 最近在學(xué)習(xí)js繼承時(shí)看了多篇文章以及自我總結(jié)的學(xué)習(xí)筆記。 目錄:一:原型鏈二:構(gòu)造函數(shù)三:原型鏈和構(gòu)造函數(shù)組合繼承四:原型式五:寄生式六:寄生組合式 1、原型鏈 function Super(){ this.name = lily; this.age = 21; this.arr = [1,2,3] } function Sub(){} Sub.prototype = new S...

    wujl596 評(píng)論0 收藏0
  • JavaScript 闖關(guān)記》之原型及原型鏈

    摘要:像和這樣的原生構(gòu)造函數(shù),在運(yùn)行時(shí)會(huì)自動(dòng)出現(xiàn)在執(zhí)行環(huán)境中。理解原型對(duì)象在默認(rèn)情況下,所有原型對(duì)象都會(huì)自動(dòng)獲得一個(gè)構(gòu)造函數(shù)屬性,這個(gè)屬性包含一個(gè)指向?qū)傩运诤瘮?shù)的指針。而通過(guò)這個(gè)構(gòu)造函數(shù),我們還可繼續(xù)為原型對(duì)象添加其他屬性和方法。 原型鏈?zhǔn)且环N機(jī)制,指的是 JavaScript 每個(gè)對(duì)象都有一個(gè)內(nèi)置的 __proto__ 屬性指向創(chuàng)建它的構(gòu)造函數(shù)的 prototype(原型)屬性。原型鏈的...

    cjie 評(píng)論0 收藏0
  • 前端面試題 -- JavaScript (一)

    摘要:前言前兩天總結(jié)了一下方面的面試題傳送門(mén),今天翻看了一些面試中常見(jiàn)的幾個(gè)問(wèn)題只是一部分,會(huì)持續(xù)更新,分享給有需要的小伙伴,歡迎關(guān)注如果文章中有出現(xiàn)紕漏錯(cuò)誤之處,還請(qǐng)看到的小伙伴留言指正,先行謝過(guò)以下有哪些數(shù)據(jù)類型種原始數(shù)據(jù)類型布爾表示一個(gè)邏輯 前言 前兩天總結(jié)了一下HTML+CSS方面的面試題 (傳送門(mén)),今天翻看了一些 JavaScript 面試中常見(jiàn)的幾個(gè)問(wèn)題(只是一部分,會(huì)持續(xù)更新...

    junnplus 評(píng)論0 收藏0
  • 讀《javaScript高級(jí)程序設(shè)計(jì)-第6章》之封裝類

    摘要:創(chuàng)建構(gòu)造函數(shù)后,其原型對(duì)象默認(rèn)只會(huì)取得屬性至于其他的方法都是從繼承來(lái)的。上圖展示了構(gòu)造函數(shù)的原型對(duì)象和現(xiàn)有的兩個(gè)實(shí)例之間的關(guān)系。所有原生的引用類型都在其構(gòu)造函數(shù)的原型上定義了方法。 第6章我一共寫(xiě)了3篇總結(jié),下面是相關(guān)鏈接:讀《javaScript高級(jí)程序設(shè)計(jì)-第6章》之理解對(duì)象讀《javaScript高級(jí)程序設(shè)計(jì)-第6章》之繼承 工廠模式 所謂的工廠模式就是,把創(chuàng)建具體對(duì)象的過(guò)程抽象...

    seal_de 評(píng)論0 收藏0
  • ES6-前世今生(0)

    摘要:更新了個(gè)版本,最新正式版是語(yǔ)言的下一代標(biāo)準(zhǔn),早已在年月正式發(fā)布?;静恢С忠苿?dòng)端瀏覽器對(duì)的支持情況版起便可以支持的新特性。比較通用的工具方案有,,,等。 1、ECMAScript是什么? 和 JavaScript 有著怎樣的關(guān)系? 1996 年 11 月,Netscape 創(chuàng)造了javascript并將其提交給了標(biāo)準(zhǔn)化組織 ECMA,次年,ECMA 發(fā)布 262 號(hào)標(biāo)準(zhǔn)文件(ECMA-...

    LeviDing 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<