千家信息网

一道面试题考验JS的基本功

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要讲解了"一道面试题考验JS的基本功",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"一道面试题考验JS的基本功"吧!// 求出如下题目结果 (
千家信息网最后更新 2026年11月01日一道面试题考验JS的基本功

这篇文章主要讲解了"一道面试题考验JS的基本功",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"一道面试题考验JS的基本功"吧!

// 求出如下题目结果 ({} + {}).length ([] + []).length (function() {}).length

这道题目乍一看可能会让你有点懵,你可能会想:一个对象和一个对象相加能得到什么?还能求出其长度?

其实这道题目相当考验了作为一位web前端开发工程师的基本功

在看到这个题目之后,我们首先分析一下情况:

1、({} + {}).length

两个空对象相加,肯定不是数值运算,那么只有可能是字符串连接了,那你可能会得到 "{}{}" 这样的结果,其实不然,因为你忽视了字符串在连接时默认会调用相应的toString()方法

一个空对象调用toString()方法会得到什么?

({}).toString() // "[object Object]"

得到是 "[object Object]" 这样的字符串,长度为15,那么两个空对象相加之后,其长度则为30

({} + {}).length // 相当于 ({}.toString() + {}.toString()).length // 也就是 "[object Object][object Object]",求得这个字符串长度为30

2、([] + []).length

有了第一道题的经验,那么你可能会这么想:两个空数组相加,一定也是字符串连接,也会调用其toString()方法,最终相当于求 "[object Array][object Array]" 这个字符串的长度,从而得出最终结果28

但是,数组的toString()方法是被重写过的

[1, 2, 3].toString() // 得到的是 "1,2,3" 这样由逗号分割元素的字符串

如果一个空数组调用toString()方法,得到的只会是空字符串""

所以,这道题的最终结果为0

3、(function() {}).length

有了前两道题目的经验,那你可能会很自然的想到:这里的function也是会调用toString()方法的。如果你这样想,那就是被前两道题目误导了:函数的长度是其形参的个数,所以最终结果是0

感谢各位的阅读,以上就是"一道面试题考验JS的基本功"的内容了,经过本文的学习后,相信大家对一道面试题考验JS的基本功这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

字符 字符串 方法 长度 题目 一道 基本功 考验 对象 结果 两个 数组 学习 内容 就是 情况 经验 求出 个数 也就是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中国互联网科技股 互联网电商科技 互联网是不是新科技 朗新科技与工业互联网 西安互联网科技 互联网未来科技 万易互联网科技有限公司 融势互联网科技 海南科技产业互联网平台 上海电发互联网科技有限公司 创业天下互联网科技有限公司 互联网公司科技股 互联网科技公司有风险吗 中和天地互联网科技有限公司 滨湖区互联网智能科技产品有哪些 上海京穆互联网科技有限公司 浙南科技城互联网大厦招聘 广东鹅鹅鹅互联网科技有限公司 玉溪新华互联网科技怎么选 平安好医生打造互联网科技医疗 互联网科技垄断 西安互联网科技 深圳卡尔迅互联网科技有限公司怎么样 成都玖崟互联网科技有限公司乐商圈怎么样 新华互联网科技2019 中国互联网有什么科技含量 中国互联网十大科技股排名 互联网金融科技元年 扫呗互联网科技有限公司 互联网领先科技活动
0