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

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

前端進(jìn)階之JS中基本類(lèi)型,復(fù)雜類(lèi)型以及那個(gè)讓人頭大的null

標(biāo)簽:
Html/CSS

JS的基本类型(primitive values)有

  • Undefined

  • Null

  • Boolean

  • String

  • Symbol (ES2015新增)

  • Number

  • Object

除 Object 以外的所有类型都是不可变的(值本身无法被改变)。

鱼头注:在最新的ECMA proposal里有个处于Stage 3的基本数据类型 BigInt ,用于表示比253大的所有数字。

具体可参考:

tc39.github.io/proposal-bi…

null是对象吗?

在ECMA文档里的定义是:

原始值,表示缺省任何对象值(object value)

typeof null === 'object'是个早在第一版的JS就存在的BUG。在这个版本里,JS值是以 32位 为单位存储的,由**小型标记(1 - 3位)**和 真实值 组成。类型标签存储在低位的单元里。其中5个是:

  • 000对象(object)

  • 1整型(int)

  • 010双精度浮点型(double)

  • 100字符串(string)

  • 110布尔值(boolean)

两种特殊值

  • undefined (JSVAL_VOID):-2的30次方以内的整数

  • null (JSVAL_NULL) :机器码 NULL 空指针,空指针引用 加上 对象标记还是 0,所以有 Number(null) === 0typeof null === 'object'

复杂类型

JS的复杂类型只有 Object 一种。

在计算机科学中, 对象是指内存中的可以被 标识符引用的一块区域。

在 Javascript 里,对象可以被看作是一组属性的集合。用 对象字面量语法 来定义一个对象时,会自动初始化一组属性。而后,这些属性还可以被增减。属性的值可以是任意类型,包括具有复杂数据结构的对象。属性使用键来标识,它的键值可以是一个字符串或者符号值**(Symbol)**。

JS基本类型与复杂类型的区别

基本类型存储的是值,复杂类型存储的是地址(指针)。

当你创建了一个复杂类型的时候,计算机会在内存中帮我们开辟一个空间来存放值,但是我们需要找到这个空间,这个空间会拥有一个地址(指针)。

当我们将变量赋值给另外一个变量时,复制的是原本变量的地址(指针),当我们进行数据修改的时候,就会修改存放在地址(指针) 上的值。



點(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)專(zhuān)欄免費(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
提交
取消