前端面試題系列——持續(xù)更新

1、說一下你對js中的數(shù)據(jù)類型的理解:

js中總共有七種內(nèi)置類型阱飘,這七種內(nèi)置類型可以分為兩大類:基本類型(原始類型 Primitive)和對象類型(Object)斥杜。

基本類型有六種: boolean、null沥匈、undefined蔗喂、number、string咐熙、symbol

其中JS中的數(shù)字都是浮點(diǎn)類型的, 沒有整型弱恒,并且使用的時(shí)候容易出現(xiàn)bug,例如

console.log(typeof NaN  === "number"); // true

返回的是true,并且NaN 和自身也是不相等的棋恼。

console.log(NaN === NaN); // false;
console.log(NaN == NaN); // false;


對于基本類型來說,存儲的都是值锈玉,也就是說是沒有函數(shù)可以調(diào)用的,比如爪飘,你輸入 undefined.toString() 會報(bào)錯(cuò),對于基本類型來說拉背,如果使用字面量师崎,那么這個(gè)字面量只是字面量,只有在必要的時(shí)候才會轉(zhuǎn)換為對象類型椅棺。

let a = 111; // 字面量只是字面量 不是number類型
a.toString();// 使用時(shí)候才會轉(zhuǎn)換為對象類型

string 類型是不可變的犁罩,無論你對 string 調(diào)用了何種方法,值都不會改變两疚。

順便說一下床估,JS的 null 是 基本類型,但是使用 typeof 判斷 null 返回的是object 這其實(shí)是一個(gè)由來已久的bug诱渤。一直流傳下來丐巫。

對象(object)是引用類型,當(dāng)我們創(chuàng)建一個(gè)對象的時(shí)候,計(jì)算機(jī)會開辟一塊空間存儲值,變量的名稱存儲的是指針递胧,指向相應(yīng)的內(nèi)存地址碑韵。

當(dāng)我們將對象的值賦值給另外一個(gè)變量的時(shí)候,復(fù)制的其實(shí)是原本變量的地址(指針),當(dāng)我們修改新的變量的值的時(shí)候缎脾,其實(shí)修改的是同一塊內(nèi)存地址的內(nèi)容祝闻,因此兩個(gè)變量的值都會改變。

使用的時(shí)候會再造成深淺拷貝的問題遗菠。也是一道比較經(jīng)典的面試題治筒。(后續(xù)整理)。

let a = { name: 'FE' }
let b = a
b.name = 'EF'
console.log(a.name) // EF

我們再看一個(gè)函數(shù)參數(shù)是對象的情況:

function test(person) {
  person.age = 26
  person = {
    name: 'yyy',
    age: 30
  }
  return person
}
const p1 = {
  name: 'yck',
  age: 25
}
const p2 = test(p1)
console.log(p1) // -> ?
console.log(p2) // -> ?

分析舷蒲,調(diào)用test方法傳入 p1 ,執(zhí)行到 person.age = 26 這行代碼的時(shí)候
傳入的參數(shù)值被修改耸袜,因此 p1-->

const p1 = {
  name: 'yck',
  age: 25
}

但是當(dāng)我們?yōu)閜erson 重新賦值一個(gè)對象的時(shí)候,這時(shí)候就出現(xiàn)了問題牲平,所以最后 person 擁有了一個(gè)新的地址(指針)堤框,也就和 p1 沒有任何關(guān)系了,導(dǎo)致了最終兩個(gè)變量的值是不相同的纵柿。

2蜈抓、typeof

涉及的面試題目:

typeof 能夠準(zhǔn)確的判斷類型嗎?instanceof 能夠正確判斷對象的原理是什么昂儒?

typeof 對于原始類型來說沟使,除了null 都可以顯示正確的類型, 使用 typeof 判斷 null 返回 object


typeof  1  // 'number'
typeof '1' // 'string'
typeof undefined // 'undefined'
typeof true // boolean
typeof Symbol() // 'symbol'

typeof 對于對象來說,除了函數(shù)都會顯示 object,所以說 typeof 并不能準(zhǔn)確的判斷變量到底是什么類型渊跋。

typeof [] // 'object';
typeof {} // 'object';
typeof console.log() // 'function'

如果想要正確的判斷一個(gè)對象的正確的類型,這時(shí)候可以考慮使用instanceof腊嗡,因?yàn)閮?nèi)部機(jī)制是用過原型鏈
來判斷的,在后面的章節(jié)中我們會自己去實(shí)現(xiàn)一個(gè) instanceof

const Person  = function() {};
const p1 = new Person();
p1 instanceof Person; // true;

var str = 'hello world';
str instanceof String; // false;

var str1 = new String('hello world');
str1 instanceof String; // true;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拾酝,一起剝皮案震驚了整個(gè)濱河市燕少,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蒿囤,老刑警劉巖客们,帶你破解...
    沈念sama閱讀 221,331評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異材诽,居然都是意外死亡底挫,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,372評論 3 398
  • 文/潘曉璐 我一進(jìn)店門脸侥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來建邓,“玉大人,你說我怎么就攤上這事湿痢±苑欤” “怎么了扑庞?”我有些...
    開封第一講書人閱讀 167,755評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長拒逮。 經(jīng)常有香客問我罐氨,道長,這世上最難降的妖魔是什么滩援? 我笑而不...
    開封第一講書人閱讀 59,528評論 1 296
  • 正文 為了忘掉前任栅隐,我火速辦了婚禮,結(jié)果婚禮上玩徊,老公的妹妹穿的比我還像新娘租悄。我一直安慰自己,他們只是感情好恩袱,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,526評論 6 397
  • 文/花漫 我一把揭開白布泣棋。 她就那樣靜靜地躺著,像睡著了一般畔塔。 火紅的嫁衣襯著肌膚如雪潭辈。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,166評論 1 308
  • 那天澈吨,我揣著相機(jī)與錄音把敢,去河邊找鬼。 笑死谅辣,一個(gè)胖子當(dāng)著我的面吹牛修赞,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播桑阶,決...
    沈念sama閱讀 40,768評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼柏副,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了联逻?” 一聲冷哼從身側(cè)響起搓扯,我...
    開封第一講書人閱讀 39,664評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎包归,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體铅歼,經(jīng)...
    沈念sama閱讀 46,205評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡公壤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,290評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了椎椰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片厦幅。...
    茶點(diǎn)故事閱讀 40,435評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖慨飘,靈堂內(nèi)的尸體忽然破棺而出确憨,到底是詐尸還是另有隱情译荞,我是刑警寧澤,帶...
    沈念sama閱讀 36,126評論 5 349
  • 正文 年R本政府宣布休弃,位于F島的核電站吞歼,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏塔猾。R本人自食惡果不足惜篙骡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,804評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望丈甸。 院中可真熱鬧糯俗,春花似錦、人聲如沸睦擂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,276評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽顿仇。三九已至淘正,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間夺欲,已是汗流浹背跪帝。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留些阅,地道東北人伞剑。 一個(gè)月前我還...
    沈念sama閱讀 48,818評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像市埋,于是被迫代替她去往敵國和親黎泣。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,442評論 2 359

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

  • 第3章 基本概念 3.1 語法 3.2 關(guān)鍵字和保留字 3.3 變量 3.4 數(shù)據(jù)類型 5種簡單數(shù)據(jù)類型:Unde...
    RickCole閱讀 5,130評論 0 21
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對...
    cosWriter閱讀 11,111評論 1 32
  • 這是自己以前寫過的文章,搬上來坷澡,留個(gè)紀(jì)念托呕。 1 近日,一條#寧靜懟某演員#直接飆上微博熱搜频敛。 原來是寧靜發(fā)了一條微...
    就是紅豆的豆閱讀 792評論 0 1
  • 初見项郊,雖談不上傾國傾城,卻是五官精致斟赚,丹鳳眼着降,高而挺翹的鼻梁,殷桃小嘴拗军;身材纖細(xì)任洞,凹凸有致蓄喇。穿衣打扮不算精致,卻對...
    花兒_Fiona閱讀 302評論 0 0
  • 今天是開心陪伴你每天一本書的第353天交掏。 今日共讀:《硬派工作》 一妆偏、怎么做人才能獲得他人的信任;第二耀销,怎么做事才...
    五感自律研習(xí)社閱讀 426評論 0 1