整理几个被遗忘的js基础代码题,还都能答对吗?

整理几个被遗忘的js基础代码题,还都能答对吗?

我们每个人面试的时候,面试官都会问一些js基础的概念。比如说说你对闭包的理解,说说你对原型和原型链的理解,作用域和作用域链的理解,var、let、const的区别、promise的理解等等,相信这些概念性的东西,我们都能回答个八九不离十。

但如果面试官把这些概念性的问答,换成代码题让你来分析呢?是否还都能给出正确答案,并且说出为什么得出这个结果呢?

其实看代码,分析执行结果才是最考验人,是真是假一试便知啊。

 

作用域考察

下面代码输出什么?为什么?

如果这个题回答不准确,估计会被直接挂掉,毕竟太基础了。

第1题

var a=100 
function f1(){ console.log(a) } 
function f2(){ var a=200 f1() } 
f2()

 

复制代码
var a = 100;

function f1() {
    console.log(a)
}

function f2() {
    var a = 200;
    f1();
}

f2();
复制代码

 

复制代码
var a = 100;

function f1() {
    console.log(a)
}

function f2(fn) {
    var a = 200;
    fn();
}

f2(f1);
复制代码

 

复制代码
var a = 100;

function f2() {
    var a = 200;

    function f1() {
        console.log(a);
    }
    return f1;
}

var f = f2();
f();
复制代码

 

闭包考察

复制代码
let x = 1;
function A(y){
    let x = 2;
    function B(z){
        console.log(x+y+z); //会输出什么? 为什么?
    }
    return B;
}
let C = A(2);
C(3);
复制代码

 

原型考察

var F = function () {}
Object.prototype.a = function () {}
Function.prototype.b = function () {}

var f = new F()
console.log(typeof(f));

请问f有方法a  方法b吗 为什么?

 

 

 

 




作者:Chuck Lu    GitHub    
posted @   ChuckLu  阅读(144)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2020-01-23 迅雷的替代 uTorrent
2019-01-23 Can't bind multiple parameters ('header' and 'parameters') to the request's content.
2019-01-23 Routing and Action Selection in ASP.NET Web API
点击右上角即可分享
微信分享提示