js中Number数字类型没有length属性
Number类型是没有length属性的,可以参考MDN文档Number类型的描述
#
延伸问题:
我在浏览器控制台里直接输入78.length
回车是报错的,但是,
var someValue = 78;
var strLength = someValue.length;
console.log(strLength);
这样不报错,只输出undefined,为什么?
解答:
万物皆对象,Number
类型继承于Number.prototype
,Number.prototype
继承于Object.prototype
,所以获取number
数值的length
属性,会去Number.prototype
及Object.prototype
上找,找不到返回undefined
那么为什么78.length
会报错呢?这就要讲到.
的机制,在js中,.
紧跟在整数后面会被理解为小数点,所以78.length
报错,那么78.0.length
就不会报错,78..length
也不会报错,(78).length
也不会报错,把数值保存在变量中访问属性也不会报错(这个和上一个加括号不抱错的原理一样)
作者: 王永杰的网络日志
出处:https://www.cnblogs.com/xiaodongxier/p/js-zhongnumber-shu-zi-lei-xing-mei-youlength-shu-x.html
版权:本文采用「署名-非商业性使用-相同方式共享 4.0 国际」知识共享许可协议进行许可。
欢迎到我的个人博客平台 小东西儿 查看更多文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构