you don't know JavaScript(1)

you don't know JavaScript

object

  1. 對(duì)象的兩種創(chuàng)建方式

字面量的方式何恶,new操作符創(chuàng)建

  1. 在對(duì)象中引用惜辑、創(chuàng)建、其他對(duì)象或函數(shù)的本質(zhì)含義

都只是對(duì)函數(shù)的引用创坞,函數(shù)不屬于任何對(duì)象。

  1. 對(duì)象的屬性描述符有哪些闰渔?

vaule

writable

configurble

enumberable

get

set

  1. 對(duì)對(duì)象進(jìn)行一些限制性操作:凍結(jié)、常量化、封裝、密封部翘;不同的操作之間的聯(lián)系?

常量化:writable:false;configurable:false;

禁止擴(kuò)展:Object.preventExtensions();

密封:Object.seal();世家還是那個(gè)等于:Object.preventExtensions() + configurable:false;

凍結(jié):Object.freeze();等于將對(duì)象密封后且不可讀鞍历,即Obejct.seal() + writable:false;

  1. 訪問對(duì)象屬性和查找對(duì)象屬性的本質(zhì)?

通過描述符中set get去操作

  1. 對(duì)對(duì)象屬性的遍歷和對(duì)數(shù)組的遍歷有何不同?

對(duì)屬性的遍歷相當(dāng)于對(duì)索引的遍歷像云,而數(shù)組也可以對(duì)索引進(jìn)行遍歷牍汹,但我們往往最關(guān)心的是數(shù)組的值,所以存在遍歷數(shù)組值得方法

  1. enumerable 可控制對(duì)象的屬性是否可以出現(xiàn)在遍歷中底靠,為false時(shí)屬性不會(huì)出現(xiàn)在for in 循環(huán)中

  2. 反問對(duì)象的屬性,和訪問一個(gè)變量在內(nèi)部機(jī)制上有什么不同请琳?

當(dāng)訪問一個(gè)對(duì)象及其原型鏈中不存在的屬性時(shí),會(huì)返回undefined痹筛,但訪問一個(gè)當(dāng)前詞法作用域中不存在的變量時(shí),會(huì)拋出一個(gè)ReferenceError異常床佳。

  1. 檢查一個(gè)對(duì)象中是否有某屬性的兩種方法昔头?

  2. in 方法可以檢測對(duì)象中的屬性是否存在减细,問什么不能檢測數(shù)組中是否有某值驮吱?

  3. for in 循環(huán)遍歷的是什么狰腌?為什么不能用它來遍歷數(shù)組中的值?

  4. 涉及Object 屬性的一些操作方法有哪些洲赵?

  5. 去查找對(duì)象的屬性時(shí),若對(duì)象中不存在該屬性會(huì)順著原型鏈回溯去查找該屬性值理张,怎樣區(qū)別屬性是對(duì)象自身的屬性還是原型鏈上的屬性赫蛇?

Object.hasOwnPeoperty( );

  1. 什么是深不變性和淺不變性?

  2. in操作和Object.hasOwnProperty( )的區(qū)別雾叭?

(property in Object)會(huì)檢查該property是否存在于對(duì)象中以及它的原型鏈中悟耘;(in操作符只會(huì)檢查屬性名是否存在,而不會(huì)檢查值织狐,所以不要用in操作符來檢查數(shù)組中的值)

Object.hasOwnPropery()只會(huì)檢查該property是否在在該對(duì)象中而不會(huì)延伸到對(duì)象的prototype中去暂幼。

  1. 在對(duì)象和數(shù)組中應(yīng)用for-in操作有什么不同?

由于for-in不僅會(huì)遍歷值得索引移迫,還會(huì)遍歷所有屬性旺嬉,所以如果用for-in來遍歷數(shù)組可能會(huì)造成數(shù)值和屬性混雜的問題。

--

  • JavaScript中9種內(nèi)置對(duì)象類型和5種基本類型厨埋?

JavaScript中的內(nèi)置對(duì)象實(shí)際上是一些內(nèi)置的函數(shù)邪媳,通過內(nèi)置函數(shù)、new操作符可以創(chuàng)建一個(gè)對(duì)應(yīng)子類型的對(duì)象。通過字面量創(chuàng)建和通過內(nèi)置函數(shù)創(chuàng)建的不同點(diǎn)在于使用 typeof 檢測出來的類型不一樣雨效,如:


var str1 = 'i am a coder';

var str2 = new String("i am a coder");

typeof str1;//string

typeof str2;//object

str1 instanceof String;//true

str2 instanceof object;//false

但內(nèi)置對(duì)象中的null 迅涮、 undefined屬于特殊情況,它們只有自己的文字形式而沒有構(gòu)造形式徽龟。

  • 對(duì)象的屬性名都是字符串叮姑,即便是數(shù)組也是如此,數(shù)組的下標(biāo)就可以理解成是對(duì)象的屬性名顿肺,它們都是字符串形式戏溺。

  • 理解在對(duì)象中引用函數(shù)的本質(zhì),如:


var person = {

name:['jack','lina','ellon'],

findId:function() {

...//具體的函數(shù)操作

}屠尊,

searchTel:searchTel

};

function searchTel() {

...//具體函數(shù)操作

};

從技術(shù)角度講旷祸,函數(shù)永遠(yuǎn)不屬于任何對(duì)象####

具體講:對(duì)象中屬性訪問的函數(shù)和其他函數(shù)沒有任何區(qū)別,(除了可能發(fā)生的隱式綁定this外)讼昆;上面代碼塊中的findId 和searchTel 都是對(duì)兩個(gè)不同的函數(shù)的引用托享,都不能說是屬于person這個(gè)對(duì)象,即便findId是在person中定義的浸赫。

  • 數(shù)組也屬于對(duì)象闰围,所以也可以給數(shù)組添加新屬性,但給數(shù)組添加一個(gè)命名屬性并不會(huì)增加數(shù)組的長度(這個(gè)新屬性的屬性名要看起來不是一個(gè)整數(shù))既峡,如果你給Array 添加的新屬性的屬性名看起來像一個(gè)整數(shù)羡榴,則JavaScript引擎會(huì)把它當(dāng)做是數(shù)組的新值得下標(biāo),數(shù)組的Length也會(huì)隨之增長运敢。

  • 屬性描述符有哪些校仑?

configurable

enumberable

writable

value

get

set

  • configurble:false;可以禁止對(duì)屬性的屬性描述符進(jìn)行更改,包括刪除該屬性传惠;但可以對(duì)該屬性重新賦值迄沫。

  • delete 可以用來刪除屬性,但delete僅僅只是刪除而已卦方,并不具備釋放內(nèi)存的功能羊瘩。

對(duì)象的一些操作方法:

Object.assign()

Object.defineProperty()

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市盼砍,隨后出現(xiàn)的幾起案子尘吗,更是在濱河造成了極大的恐慌,老刑警劉巖浇坐,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件摇予,死亡現(xiàn)場離奇詭異,居然都是意外死亡吗跋,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來跌宛,“玉大人酗宋,你說我怎么就攤上這事〗校” “怎么了蜕猫?”我有些...
    開封第一講書人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長哎迄。 經(jīng)常有香客問我回右,道長,這世上最難降的妖魔是什么漱挚? 我笑而不...
    開封第一講書人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任翔烁,我火速辦了婚禮,結(jié)果婚禮上旨涝,老公的妹妹穿的比我還像新娘蹬屹。我一直安慰自己,他們只是感情好白华,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開白布慨默。 她就那樣靜靜地躺著,像睡著了一般弧腥。 火紅的嫁衣襯著肌膚如雪厦取。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評(píng)論 1 305
  • 那天管搪,我揣著相機(jī)與錄音虾攻,去河邊找鬼。 笑死抛蚤,一個(gè)胖子當(dāng)著我的面吹牛台谢,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播岁经,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼朋沮,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了缀壤?” 一聲冷哼從身側(cè)響起樊拓,我...
    開封第一講書人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎塘慕,沒想到半個(gè)月后筋夏,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡图呢,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年条篷,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了骗随。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡赴叹,死狀恐怖鸿染,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情乞巧,我是刑警寧澤涨椒,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站绽媒,受9級(jí)特大地震影響蚕冬,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜是辕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一囤热、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧免糕,春花似錦赢乓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至松逊,卻和暖如春躺屁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背经宏。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來泰國打工犀暑, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人烁兰。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓耐亏,卻偏偏與公主長得像,于是被迫代替她去往敵國和親沪斟。 傳聞我的和親對(duì)象是個(gè)殘疾皇子广辰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對(duì)象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,237評(píng)論 0 4
  • 參考基礎(chǔ)教程的整理,方便記憶 一主之、Object對(duì)象 (O大寫) 所有其他對(duì)象都繼承自這個(gè)對(duì)象择吊。Object本身也是...
    Viaphlyn閱讀 2,325評(píng)論 0 0
  • 每個(gè)人都會(huì)有一段異常艱難的時(shí)光,生活的窘迫槽奕,工作的失意几睛,學(xué)業(yè)的壓力,愛的惶惶不可終日粤攒。挺過來的所森,人生就會(huì)豁然開朗囱持;...
    錦時(shí)夢淺閱讀 537評(píng)論 0 1
  • 今天我在學(xué)校在讀書我們還玩我又交了新朋友嗯交了三個(gè)交了三個(gè)新朋友我和同學(xué)們玩得很開心上午我們還跳五我們跳了兔子舞在...
    付晨璨閱讀 101評(píng)論 0 0