【LSP】把99%的程序员考的外焦里嫩的Javascript面试

1649644933   ·   发表于 18天前   ·   编程代码
哈喽 大家好,我是安然[滑稽][爱心]

许久未更新了,这次带来:
把99%的程序员考的外焦里嫩的Javascript面试题

喜欢点赞赞就行了[滑稽]

艾特几位,压压场面

最近有学员给出一段令人匪夷所思的JavaScript代码(据说是某某大厂面试题),废话少说,上代码:

20 Reply   |  Until 15天前 | 327 View

zgw888666
发表于 18天前

这段代码运行结果是99,也就是说,a = 99将a的值重新设为99,而由于后面使用a定义了一个函数

评论列表

  • 加载数据中...

编写评论内容

1769176
发表于 18天前

a = 30其实是修改的a函数,或者干脆说,函数a将变量a覆盖了,所以在a函数的后面再也无法修改变量a的值了,

评论列表

  • 加载数据中...

编写评论内容

【LSP】小手
发表于 18天前

我知道了。

评论列表

  • 加载数据中...

编写评论内容

3446779815
发表于 18天前

因为变量a已经不存在了,ok,这段代码的输出结果好像可以解释得通,下面再看一段代码:

评论列表

  • 加载数据中...

编写评论内容

2723147094
发表于 18天前

阿这[滑稽]

评论列表

  • 加载数据中...

编写评论内容

1797591992
发表于 18天前

大家可以猜猜,这段代码会输出什么结果呢?10?99?30?,答案是10。也就是说,hello函数压根就没有修改全局变量a 值,那么这是为什么呢?

评论列表

  • 加载数据中...

编写评论内容

ginrue
发表于 18天前

根据我们前面的结论,当执行到a = 99时,覆盖变量a的值,然后执行函数a的定义代码,接下来执行a = 30,将函数a改成了变量a

评论列表

  • 加载数据中...

编写评论内容

zgw888666
发表于 18天前

这个解释似乎也没什么问题,但是,问题就是,与第1段代码的输出不一样。第1段代码修改了全局变量a的值,第2段代码没有修改全局变量a的值,这是为什么呢?

评论列表

  • 加载数据中...

编写评论内容

53423028
发表于 18天前

现在思考3分钟........

评论列表

  • 加载数据中...

编写评论内容

lcr
发表于 18天前

其实吧,别看这道题很简单,可能有很多程序员都能蒙对答案,反正就这几种可能,一共就3个数

评论列表

  • 加载数据中...

编写评论内容
LoginCan Publish Content