首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一段惊呆下巴的 JavaScript 代码

作者 | Arjun Vijay Prakash       译者 | 明明如月

责编 | 夏萌

出品 | CSDN(ID:CSDNnews)

昨晚,我遇到了一个颇为有趣的 JavaScript 问题。我敢保证,除非你提前看答案,否则很难回答出来。

请问这段代码的输出结果是什么?

可选择的答案如下:

这个问题表面看起来不难,但当我公布答案后,可能让你惊掉下巴。

所有上述选项都是错的!请问,你选对了吗?

答案将在5秒后公布。

5.

4.

3.

2.

1.

答案是 "banana"

JavaScript 真是匪夷所思

你可能诧异不已、质问我 “你疯了吗?”,怎么可能会是这个结果?请你先冷静冷静,让我为你分析分析。

解析工作原理

下面,让我们分步解释代码的运作原理:

"b" + "a" 连接字符串,得到 "ba"。

+ + "a" 试图将字符串 "a" 转换为数字,由于 "a" 非有效数字,所以结果为 NaN("非数字")。

"ba" + NaN 将字符串 "ba" 与值 NaN 连接,得到 "baNaN"。

"baNaN" + "a" 将 "baNaN" 与 "a" 连接,得到 "baNaNa"。

最后,调用 .toLowerCase() 方法,将字符串 "baNaNa" 所有字符转换为小写,得到 "banana"。

所以,代码的最终输出就是 "banana"。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O1joWp4Rmi_j0TeDE98RZGSg0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券