toString

今天在看以前写的代码时,遇到某个老师的点评:

var obj = {};
var root = [1, 2, 3];
obj[root.join(',')] = value;

一看到这个,我就又犯难了。我对这javascript的类型转换实在记不住!我知道obj[key],中的key如果不是字符串,会调用key.toString()转换为字符串。但是不知道[1, 2, 3].toString() === “1,2,3”。虽然这些东西都是定死的,记不住也没关系吧,只要记得在类型值判断时尽量用严格判断就好。下面记几个常见的toString:

var obj = {};
obj.toString() === '[object Object]';
[].toString() === '';
[1, 2, 3].toString() === &# 大专栏  toString和valueOf39;1,2,3';
['a', 2, function(){}].toString() === 'a,2,function(){}'; // 不不,这个不常见。

valueOf

这个东西返回一个原始值,而且对各个JS固有对象,定义还不同。

对象 返回值
Array 数组本身。
Boolean 自身Boolean值。
Date 存储的时间是从 1970 年 1 月 1 日午夜开始计的毫秒数 UTC
Function 函数本身。
Number 数字值
Object 对象本身。这是默认情况(没有重写valueOf)
String 字符串值。

最新文章

  1. sublime text 2 ubuntu安装及插件管理
  2. 写一些封装part1 (事件绑定移除,圆形矩形碰撞检测)
  3. SQL 统计整个服务器上各个数据库占用的空间
  4. 1018Mysql分表分库
  5. ASP.NET MVC 4下 Code First 数据库迁移
  6. NSString / NSData / char* 类型之间的转换
  7. spring jdbctemplate源码跟踪
  8. Android常用Manager整理
  9. SolrJ总结
  10. 快速构建Windows 8风格应用7-页面视图概览
  11. OpenCV3.1.0中调用MHI(Motion History Images, 运动历史图像)
  12. 4月22日MySQL学习
  13. 《你不知道的JavaScript》三卷读后感
  14. cocos2dx 实现文字的一键复制功能(IOS、Android)
  15. 如何对MongoDB 3.2.7进行用户权限管理配置
  16. .NET Core开发日志——WCF Client
  17. linux命令学习之:ifconfig
  18. Kubernetes1.91(K8s)安装部署过程(二)--证书kubeconfig文件创建
  19. [LeetCode] 549. Binary Tree Longest Consecutive Sequence II_ Medium tag: DFS recursive
  20. 20155234 2016-2017-2 《Java程序设计》第7周学习总结

热门文章

  1. CodeForces 263E Rhombus
  2. Android圆角布局、天气应用、树状图、日食动画、仿饿了么导航效果等源码
  3. mysql数据库死锁的解决方案
  4. linux epoll ET边沿触发
  5. eclipse安装tfs插件
  6. Android 自定义dialog类
  7. Uncaught (in promise) NavigationDuplicated {_name: "NavigationDuplicated"}的解决方法
  8. vue中的路由传参及跨组件传参
  9. QLIKVIEW-日期格式,数字格式写法
  10. sql server 重命名表名,字段名