javascrpit中一些 特殊转换

 1+null   // 1 null转换成01+[]    // "1"  注意是字符串啦1+[9]    //  "19"  字符

为什么会产生如上?
这里就要了解 对象转原始值时的2个函数toString()valueOf()。对象参与运算时 回去 执行obj.valueOf()方法拿到原始值 没有返回对象本身 如果返回的 不是个原始值 则会执行 obj.toString()这就可以解释 1+[9] 位 "19"

  [9].valueOf()                    //返回对象本身 执行toString[9].toString()                   //"9"1 + "9"                          //"19"

自定义对象来验证

var obj ={ flag:false,toString:function(){return this.flag?"先调用了valueOf":"直接调用哥们" ;},valueOf:function(){this.flag=true;return  [1,2,3,4,5] ;       //注意我返回的是一个 *数组对象* 不是原始值}}console.log(1+obj)                //'1先调用了valueOf'//我们再来总结一下 obj先调valueOf  如果不是原始值 则调toStringvar obj={valueOf:function(){return 12;}}1<obj                           //true

无聊测试一些js等效运算

 !!x                              // 等价    Boolean(x)-x                               // 等价    Number(x)x + ""                           //等价     String(x)x!==x                            // 等价    isNaN(x)

转载于:https://www.cnblogs.com/webchenhan/p/6513796.html

javascript转换相关推荐

  1. [举一反三]使用javascript转换字符串为dom对象(字符串动态创建dom)

    前言: 在javascript里面动态创建标准dom对象一般使用: var obj = document.createElement('div'); 然后再给obj设置一些属性. 但是,在实际使用过程 ...

  2. javaScript转换日期合格式

    javascript如何将时间日期转换为Date对象: 有时候需要讲一个字符串型的时间日期转换为Date时间对象,下面就通过一个简单的实例提供一种解决方案,当然也是一种思路,可以进行一定的变通,以达到 ...

  3. 浏览器内javascript 转换gbk文本到UTF8编码(chrome, firefox only)

    我们在使用xmlhttprequest获取文本内容时,如果服务器返回的是gbk(或gb2312等非utf8编码)内容,那么得到的是一堆乱码,如何转换为浏览器内默认的utf8编码的文字? 其实如果您使用 ...

  4. JavaScript 转换数字为整数的方法

    本文将会列举并说明JavaScript 把一个number(或者numerical的对象)转换成一个整数相关方法. 使用parseInt parseInt的语法如下:parseInt(string, ...

  5. javascript转换金额格式

    //转换金额格式 10,000.00//money=金额//n=保留小数位数 默认2位 function parseMoney(money, n) {if (money == 'undefined' ...

  6. JavaScript — 转换日期

    描述 本文描述的是转换日期方法的实现, 这个方法接收两个参数,第一个参数是需要输出日期的格式,第二个参数是需要转换的日期. 代码实现 首先,先实现一种简单转换的方法 function transDat ...

  7. JavaScript原始类型转换和进制转换

    1.JavaScript转换包括:强制转换和基本转换 如: var  str = 'A',num=10,nu=null,t=true,und=undefined,x; //注意:定义的x未被初始化:默 ...

  8. Swift和Javascript的神奇魔法

    Swift和Javascript的神奇魔法 记录Swift和Javascript如何进行交互 前言 今天在网上看到了一篇介绍Swift和Javascript交互的文章,感觉作者写的很好,因此把作者文章 ...

  9. zabbix 监控项自动发现过滤_Zabbix使用javascript+jsonpath预处理动态生成监控项

    场景模拟: 问题1:数据库空间如果太大,对性能方面有一定的影响,所以某知名企业的运维人员小智想要监控每台数据库服务器的数据库文件大小.这名运维人员目前的做法是执行查询语句,把结果存成txt文件,然后每 ...

最新文章

  1. 「文本信息抽取与结构化」目前NLP领域最有应用价值的子任务之一
  2. Wait--查看等待
  3. 把学生类按单科成绩排序_重庆新高考几个核心点:分数线种类、96个志愿、投档排序规则...
  4. Java HttpSessionListener监听器的使用
  5. 程序员35岁之后的出路_我35岁,被裁员,开始给程序员规划人生
  6. 软件开发模型_QT开发(二十三)——软件开发流程
  7. 最近写mapreduce程序从hbase中抽取程序遇到的一些问题
  8. Arduino手自两用蓝牙避障小车
  9. 最小二乘法曲线拟合(代码注释)
  10. 餐巾计划问题 费用流
  11. sublime text 3 插件 OmniMarkupPreviewer 报404解决办法
  12. 集成开发项目与开发集成项目的区别
  13. C语言实现一元多项式的加减运算
  14. 浅谈大数据里的Kafka (9)Kafka的消费方式和消费策略
  15. 【043】光盘库编码
  16. 写字机器人开发之:python opencv linux下合作操作摄像头
  17. USB输入单节锂电池0.5A充电管理IC,防高压40V保护电路-7号电路板
  18. Mac 蓝牙鼠标卡顿的解决方法
  19. Python 随机生成双色球
  20. sos.exe病毒的手动查杀方法(AUTO病毒)

热门文章

  1. Docker 极简入门教程,傻瓜都能看懂!
  2. 在 MyBatis 里,如何将 JSON 型字段到 Java 类的映射
  3. 一位 83 岁独立开发者教会我的道理
  4. 当git上只做文件大小写重命名的修改时,如何躲坑...
  5. Consul入门03 - 注册服务
  6. Java集合:Collection和Map
  7. Java:四种取整的方法
  8. 框架:Spring Aop、拦截器、过滤器的区别
  9. 【Python】青少年蓝桥杯_每日一题_11.19_围圈报数
  10. apache nginx mysql php_php+Apache2+Nginx+Mysql