国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

js中對象與對象創(chuàng)建方法的各種方法

2024-05-06 15:42:05
字體:
供稿:網(wǎng)友

前言

不管是哪門語言,千變?nèi)f化不離其宗,深入理解其本質(zhì),方能應(yīng)用自如。對應(yīng)到j(luò)s,閉包,原型,函數(shù),對象等是需要花費(fèi)大功夫思考、理解的。

這一次我們來說一說在JavaScript中經(jīng)常會用到的一個復(fù)雜基本類型,對象,先從對象的屬性講起,再講對象的創(chuàng)建方法,基本涵蓋了創(chuàng)建對象的各種方法,大家一起學(xué)習(xí)呀~

一、對象

要掌握對象的使用及繼承,首先當(dāng)然需要先理解它,接下來,將會對對象的屬性類型進(jìn)行一個整理

    1、什么是對象

    對象其實是無序?qū)傩缘募希鋵傩钥梢园局担瑢ο蠡蛘吆瘮?shù),比如像下面這個例子就是一個person對象啦

var person = { name: "NIcholas", age: 29, sayName: function() { console.log(this.name); }}

    從上面的例子我們可以看到,對象可以是由屬性和其相應(yīng)的值構(gòu)成,對象中可以包含函數(shù),也可以包含其它對象

    2、屬性類型

    在JavaScript中,其實有兩種屬性,包括數(shù)據(jù)屬性和訪問器屬性

    (1)數(shù)據(jù)屬性

    數(shù)據(jù)屬性包含一個數(shù)據(jù)值的位置,在這個位置可以讀取和寫入值,一般來說,有4個描述其行為的特性:

    a、[[Configurable]]:表示能否通過delete刪除屬性從而重新定義屬性,默認(rèn)值為true

    b、[[Enumerable]]:表示能否通過for-in循環(huán)返回屬性,默認(rèn)值為true

    c、[[Writable]]:表示能否修改屬性的值,默認(rèn)值為true

    d、[[Value]]:包含這個屬性的數(shù)據(jù)值,默認(rèn)值為undefined

    一般來說,數(shù)據(jù)屬性都有自己的默認(rèn)值,那么如果我們要修改數(shù)據(jù)屬性默認(rèn)的特性,應(yīng)該怎么辦呢?這個時候就需要用到Object,defineProperty()方法啦,這個方法接收三個參數(shù):屬性所在的對象,屬性的名字和一個描述對象,來看下面的例子

var person = {};Object.defineProperty(person, "name", { writable: false, value: "Nicholas"});console.log(person.name); // Nicholas// 重新賦值person.name = "Greg";console.log(person.name); // Nicholas

    從上面的例子我們可以看到,因為設(shè)置了person對象的name屬性為不可修改,因此無論你在后面怎么修改person的name屬性的值,name屬性的值都不會發(fā)生改變

    (2)訪問器屬性

    訪問器屬性不包含數(shù)據(jù)值,它們包含一對兒getter和setter函數(shù),在讀取訪問器屬性時,會調(diào)用getter函數(shù),這個函數(shù)負(fù)責(zé)返回有效的值,在寫入訪問器屬性時,會調(diào)用setter函數(shù)并傳入新值,這個函數(shù)負(fù)責(zé)決定如何處理數(shù)據(jù),訪問器屬性有以下4個特性

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 临颍县| 兴安盟| 大竹县| 新乡县| 繁昌县| 南澳县| 德惠市| 台东县| 新乐市| 彭泽县| 红安县| 玛多县| 涞水县| 河东区| 盐池县| 鄂伦春自治旗| 玉田县| 苍山县| 忻城县| 合山市| 龙江县| 杭锦旗| 阜南县| 嵩明县| 潍坊市| 东城区| 德格县| 嘉祥县| 尼勒克县| 灵寿县| 宁安市| 涡阳县| 井陉县| 逊克县| 五常市| 林口县| 扶风县| 禄劝| 台湾省| 新蔡县| 鸡东县|