45道JS面試題【整理篇】

0.下面代碼輸出是什么?
// 0 '' null false undefined
console.log(0 == '',0 == null,0 == false,0 == undefined)
console.log('' == null,'' == false,'' == undefined)
console.log(null == false,null == undefined,false == undefined)
console.log(!0,!'',!null,!false,!undefined)
console.log(+0,+'',+null,+false,+undefined)
console.log(-0,-'',-null,-false,-undefined)
console.log(~0,~'',~null,~false,~undefined)
console.log(~~0,~~'',~~null,~~false,~~undefined)
1.下面代碼輸出是什么打厘?
function sayHi(){
    console.log(name);
    console.log(age);
    var name = 'me';
    let age = 18;
}
sayHi()
2.下面代碼輸出是什么蚪缀?
let name = 'me';
{
    console.log(name);
    let name = 'code';
}
3.下面代碼輸出是什么秫逝?
const shape = {
    radius: 10,
    diameter(){
        return this.radius * 2
    },
    perimeter: () => 2 * Math.PI * this.radius
}
console.log(shape.diameter());
console.log(shape.perimeter());
4.下面代碼輸出是什么?
console.log(+true);
console.log(!'linda');
5.下面代碼輸出是什么询枚?
const bird = {
    size: 'small'
}
const mouse = {
    name: 'Mickey',
    small: true
}
console.log(mouse.bird.size)
console.log(mouse[bird.size])
console.log(mouse[bird['size']])
6.下面代碼輸出是什么违帆?
let c = {
    greeting: 'hey',
}
let d;
d = c;
c.greeting = 'hello';
console.log(d.greeting);
7.下面代碼輸出是什么?
let a = 3;
let b = new Number(3);
let c = 3;
console.log(a == b);
console.log(a === b);
console.log(b === c);
console.log(a === c);
8.下面代碼輸出是什么金蜀?
class Chameleon {
    static colorChange(newColor){
        this.newColor = newColor
    }
    constructor({newColor='green'} = {}) {
        this.newColor = newColor
    }
}
const freddie = new Chameleon({newColor:'purple'});
console.log(freddie.colorChange('orange'));
9.下面代碼輸出是什么刷后?
// 'use strict'
let greeting;
greetign = {};
console.log(greetign)
10.下面代碼輸出是什么?
function bark(){
    console.log('Woof')
}
bark.animal = 'dog'
console.log(bark.animal)
11.下面代碼輸出是什么渊抄?
function Person(firstName,lastName){
    this.firstName = firstName;
    this.lastName = lastName;
}
const member = new Person('Linda','Harlin');
Person.getFullName = () => this.firstName + this.lastName;
// Person.prototype.getFullName = function(){
//  return `${this.firstName} ${this.lastName}`
// }
console.log(member.getFullName());
12.下面代碼輸出是什么尝胆?
function Person(firstName,lastName){
    this.firstName = firstName;
    this.lastName = lastName;
}
const Linda = new Person('Linda','Harlin');
const Sarah = Person('Sarah','Smith');
console.log(Linda)
console.log(Sarah)
13.事件傳播的三個(gè)階段是什么?
// 捕獲->目標(biāo)->冒泡
14.所有對(duì)象都有原型护桦?
// 錯(cuò)誤
// 除基礎(chǔ)對(duì)象外含衔,所有對(duì)象都有原型《郑基礎(chǔ)對(duì)象的原型是null
15.下面代碼輸出是什么抱慌?
function sum(a,b){
    return a + b;
}
console.log(sum(1,'2'))
16.下面代碼輸出是什么?
let number = 0;
console.log(number++);
console.log(++number);
console.log(number);
17.下面代碼輸出是什么眨猎?
function getPersonInfo(one,two,three){
    console.log(one)
    console.log(two)
    console.log(three)
}
const person = 'Linda';
const age = 18;
console.log(getPersonInfo`${person} is ${age} year old`)
18.下面代碼輸出是什么?
function checkAge(data){
    if(data==={age:18}){
        console.log('A')
    } else if(data=={age:18}){
        console.log('B')
    }else{
        console.log('C')
    }
}
console.log(checkAge({age:18}))
19.下面代碼輸出是什么强经?
function getAge(...args){
    console.log(args)
    console.log(typeof args)
} 
console.log(getAge(21));
20.下面代碼輸出是什么睡陪?
function getAge(){
    'use strict';
    age = 18;
    console.log(age)
}
console.log(getAge());
21.下面代碼輸出是什么?
const sum = eval('10*10+5')
console.log(sum)
22.cool_secret可以訪問(wèn)多長(zhǎng)時(shí)間匿情?
sessionStorage.setItem('cool_secret',123);
// 用戶關(guān)閉選項(xiàng)卡時(shí)清除
23.下面代碼輸出是什么兰迫?
var num = 8;
var num = 10;
console.log(num);
24.下面代碼輸出是什么?
const obj = {1:'a',2:'b',3:'c'};
const set = new Set([1,2,3,4,5]);
console.log(obj.hasOwnProperty('1'));
console.log(obj.hasOwnProperty(1));
console.log(set.has('1'));
console.log(set.has(1));
25.下面代碼輸出是什么炬称?
const obj = {a:'one',b:'two',a:'three'};
console.log(obj)
// 如果對(duì)象有兩個(gè)具有相同名稱的鍵汁果,則將替換前面的鍵。它仍將處于第一個(gè)位置玲躯,但具有最后指定的值
26.JavaScript全局執(zhí)行上下文為你創(chuàng)建了兩個(gè)東西...
// 全局對(duì)象和this關(guān)鍵字
27.下面代碼輸出是什么据德?
for (let i = 0; i < 5; i++) {
    if(i===3) continue;
    console.log(i)
}
// 如果某個(gè)條件返回 true ,則 continue 語(yǔ)句跳過(guò)迭代
28.下面代碼輸出是什么跷车?
String.prototype.giveLindaPizza = () => {
    return 'ddd'
}
const name = 'Linda';
console.log(name.giveLindaPizza())
29.下面代碼輸出是什么棘利?
const a = {};
const b = {key:'b'};
const c = {key:'c'};
a[b] = 123;
a[c] = 456;
console.log(a[b]);
// a["[object Object]"] = 123
// a["[object Object]"] = 456
30.下面代碼輸出是什么?
const foo = () => console.log('1')
const bar = () => setTimeout(() => console.log('2'))
const baz = () => console.log('3')
console.log(foo())
console.log(bar())
console.log(baz())
31.單擊按鈕時(shí) event.target 是什么朽缴?
<div onclick="console.log('1')">
    <div onclick="console.log('2')">
        <button onclick="console.log('3')">
            Click!
        </button>
    </div>
</div>
// button
32.單擊下面 html 片段打印的內(nèi)容是什么善玫?
<div onclick="console.log('div')">
    <p onclick="console.log('p')">
        Click here!
</div>
// p div
33.下面代碼輸出是什么?
const person = {name:'Linda'};
function sayHi(age){
    console.log(`${this.name} id ${age}`)
}
console.log(sayHi.call(person,18));
console.log(sayHi.bind(person,18));
34.下面代碼輸出是什么密强?
function sayHi() {
    return (() => 0)();
}
// console.log(sayHi());
console.log(typeof sayHi());
35.以上哪些是假值茅郎?
0;
new Number(0);
('');
(' ');
new Boolean(false);
undefined;
// JavaScript 中只有6個(gè)假值:
undefined null NaN 0 '' false
36.下面代碼輸出是什么蜗元?
console.log(typeof typeof 1);
37.下面代碼輸出是什么?
const numbers = [1,2,3];
numbers[10] = 11;
console.log(numbers)
38.下面代碼輸出是什么系冗?
(() => {
    let x,y;
    try{
        throw new Error();
    }catch(x){
        (x=1),(y=2);
        console.log(x);
    }
    console.log(x);
    console.log(y);
})()
39.JavaScript 中的所有內(nèi)容都是...
// 原始和對(duì)象
// JavaScript 只有原始類型和對(duì)象
// 原始類型是 
Boolean null undefined BigInt Number String Symbol
40.下面代碼輸出是什么奕扣?
[[0,1],[2,3]].reduce(
    (acc,cur) => {
        return acc.concat(cur);
    },
    [1,2]
)
41.下面代碼輸出是什么?
console.log(!!null);
console.log(!!'');
console.log(!!1);
42.下面方法返回值是什么毕谴?
setInterval(() => console.log('Hi'),1000);
// 一個(gè)唯一的id 可使用 claerInterval(id) 清除定時(shí)器
43.下面代碼輸出是什么成畦?
console.log([...'Linda']);
44.TypeError、ReferenceError涝开、SyntaxError的區(qū)別
// ReferenceError是跟作用域判別失敗有關(guān) 
// TypeError是作用域判別成功后對(duì)結(jié)果非法操作或者不合理

// TypeError 對(duì)一個(gè)變量的值做不合理的操作,如對(duì)非函數(shù)的變量進(jìn)行函數(shù)調(diào)用 
// 或者引用null或undefined類型的值得屬性
let a = {};
console.log(a.list.name); //這種情況也比較常出現(xiàn)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末循帐,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子舀武,更是在濱河造成了極大的恐慌拄养,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件银舱,死亡現(xiàn)場(chǎng)離奇詭異瘪匿,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)寻馏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門棋弥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人诚欠,你說(shuō)我怎么就攤上這事顽染。” “怎么了轰绵?”我有些...
    開封第一講書人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵粉寞,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我左腔,道長(zhǎng)唧垦,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任液样,我火速辦了婚禮振亮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鞭莽。我一直安慰自己双炕,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開白布撮抓。 她就那樣靜靜地躺著妇斤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上站超,一...
    開封第一講書人閱讀 51,190評(píng)論 1 299
  • 那天荸恕,我揣著相機(jī)與錄音,去河邊找鬼死相。 笑死融求,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的算撮。 我是一名探鬼主播生宛,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼肮柜!你這毒婦竟也來(lái)了陷舅?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤审洞,失蹤者是張志新(化名)和其女友劉穎莱睁,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體芒澜,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡仰剿,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了痴晦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片南吮。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡搂蜓,死狀恐怖勋桶,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情干签,我是刑警寧澤术辐,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站施无,受9級(jí)特大地震影響辉词,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜猾骡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一瑞躺、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧兴想,春花似錦幢哨、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春岸售,著一層夾襖步出監(jiān)牢的瞬間践樱,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工凸丸, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留拷邢,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓屎慢,卻偏偏與公主長(zhǎng)得像瞭稼,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子腻惠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354