({}+{}).length
来源:互联网 发布:苹果手机的mac地址在哪 编辑:程序博客网 时间:2024/04/27 21:18
这篇博客有点水 ,偶然想起来了,便记下来…
直接上代码吧:
({}+{}).length
结果是 : 30
下面是repl里面的其他运算结果:
({}).length // undefined({}+{}).length // 30({}+{}+{}).length // 45
解释:
第一条:
({}).length // undefined 是因为对象{}没有length属性,所以是undefined
第二条:
({}+{}).length // 30
说明下原因:由于javascript是弱类型语言,加法运算间接调用了对象的toString()方法 ,其结果是字符串的相加,变成了”[object Object]”数一下,发现一个{}的toString()有15个字符,所以字符相加,个数是15的倍数,同理,其他的都这样。
另外,直接这样做
{}.toString()
你得到的是undefined, 通过使用变量的方式才可以呈现, 但在js内部,并不需要这一步操作,这就是js弱类型的特性,代码如下:var a = {};console.log(a.toString().length); // 15
0 0
- ({}+{}).length
- length & length()
- length和length()
- length,length(),size()区别
- length与length()区别
- length length() size()
- length,length(),size()区别
- length,length(),size()区别
- length和length()区分
- len()/length()
- Array#length
- 关于length
- length(arg1)
- 长度(length)
- js length
- Arguments.length
- Content-Length
- length函数
- 静态块 静态方法 构造方法 普通方法 执行顺序
- 二分查找法
- iOS9关键字的简单实用
- 8.蛇形填数
- 面对对象总结
- ({}+{}).length
- 设计模式---行为类型---策略
- java旅行第四天--《一个都不能少》观后感
- JavaScript实用技巧
- 9.韩信点兵
- 结构可变数组
- Android中如何实现一键退出
- DevOps之初探
- 信号之可重入函数、竞态条件