第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

You Don't Know JS筆記一 :js對(duì)象

標(biāo)簽:
JavaScript

> [You Don't Know JS ](https://book.douban.com/subject/25883834/)笔记


# 一、类型

javascript一共有六种主要数据类型:

* string

* number

* boolean

* null

* undifined

* object

ps: typeof  null  时会返回"object",这是语言的一个bug.


# 二、内置对象

Javascript中还有一些对象子类型,通常被称为内置对象:

* **String**

* Number

* Boolean

* Object

* Function

* **Array**

* Data

* **RegExp**

* Error

```javascipt

var  strPrimitive = "I am a string";

typedef strPrimitive ; //"string"

strPrimitive instanceof String ; //false


var strObject = new string("I am a string");

typeof strObject;      // "object"

strObject instanceof String; // true

```

三、复制对象

```javascript

function anotherFunction(){  /*... */}

var anotherObject = {

   c: true;

}

var anotherArray = [];

var myObject = {

       a : 2,

       b: another,

       c: anotherArray,

       d: anotherFunction

}

abotherArray.push(anotherObject, myObject);

```

复制分为```浅拷贝```和```深拷贝```。对于浅拷贝,复制出的新对象中a的值会复制就对象中a的值,但是新对象中b,c,d三个属性其实只是三个引用,和旧对象中b,c,d引用的对象是一样的。对应深拷贝来说,除了复制myobject以外还会复制anotherObject和anotherArray. 。anotherArray又引用了anotherObject和myObject,这样会由于循环引用导致死循环。

```深复制方法```:

```javascript

var newObj = JSON.parse( JSON.stringify( someObj) );

```

```浅复制方法```:

```javascript

var newObj = Object.assign( {} , myObject);

```

四、属性描述符

```javascript

var myObject = {

        a : 2

};

Object.getOwnPropetyDescriptor(myObject, "a");

//{

//   value: 2;

//   writable: true,

// enumerable: true,

//configurable: true

}

Object.setOwnPropetyDescriptor(myObject, "a",{

  value: 2;

  writable: true,

  numerable: true,

    configurable: true

}

```

1. writable  决定是否可以修改属性的值

2. configurable: 只要属性是可配置的,就可以使用defineProperty(...)方法来修改属性描述符。

3.enumerable 枚举,如 ```for...in...```,与```for ... of ...```


五. Getter 和 Setter

```javascript

 var myObject = {

          get a(){

                  return 2;

        }

};

myObject.a = 3;

myObject.a; // 2

```


```

var myObject = {

      get a(){

          return this._a_;

      }

   set a(val){

          this._a_ = val * 2;

    }

};

myObject.a = 2;

myObject.a ; //4

```


點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消