javascript中神奇的(+)加操作符
javascript是一门神奇的语言,这没神奇的语言中有一个神奇的加操作符。
常用的加操作符我们可以用来做:
- 加法运算,例如:alert(1+2); ==>3
- 字符串连接,例如:alert(“a”+”b”);==>”ab”
高级一点的还有“+=”,也是做以上两种操作的。
昨天在javascript丛林群里问了问题:怎么把“2000-09-11 19:22”这个日期格式字符串转换成毫秒数?
斩梦人天天马上回答我: +new Date(‘2000-09-11 19:22′),试了一下不行,正确的应该是+new Date(‘2000/09/11 19:22′)。
答案似乎已经不重要了,你看这前面有个加操作符,说实话这种写法以前真没见过。神奇的javascript中的加操作符,还有非常神奇的作用,转换数据类型,一般是字符串和数值的转换,例如,javascript丛林网友jason给的例子:
// 16进制转换:
+”0xFF”; // -> 255// 获取当前的时间戳,相当于`new Date().getTime()`:
+new Date();// 比 parseFloat()/parseInt()更加安全的解析字符串
parseInt(“1,000″); // -> 1, not 1000
+”1,000″; // -> NaN, much better for testing user input
parseInt(“010″); // -> 8, because of the octal literal prefix
+”010″; // -> 10, `Number()` doesn’t parse octal literals
//一些简单的缩写比如: if (someVar === null) {someVar = 0};
+null; // -> 0;// 布尔型转换为整型
+true; // -> 1;
+false; // -> 0;//其他:
+”1e10″; // -> 10000000000
+”1e-4″; // -> 0.0001
+”-12″; // -> -12:
当然还有数字加空字符串的操作就可以将数字转化为字符串,例如: alert( typeof (1+””)); // ->string;
另外附送一个将字符串转化为数字的减操作符,例如: alert( typeof (“123″-0));//->number;
当然对于加操作符可能还有未知一些使用特性,欢迎留言补充!谢谢斩梦人天天,谢谢jason,谢谢javascript丛林的其他网友。
javascript中神奇的(+)加操作符的更多相关文章
- javascript中的递增递减操作符
javascript中递增递减属于一元操作符,所谓一元操作符,即只能操作一个值的操作符. 递增和递减操作符各有两个版本:前置型和后置型.顾名思义,前置型应该位于要操作的变量之前,而后置型应该位于要操作 ...
- Javascript 中神奇的 this
Javascript 当中的 this 与其他语言是完全不同的机制,很有可能会让一些编写其他语言的工程师迷惑. 1. 误以为 this 指向函数自身 根据 this 的英语语法,很容易将函数中出现的 ...
- javascript中!=、!==、==、===操作符总结
JavaScript 有两种比较方式:严格比较运算符和转换类型比较运算符. 在相等运算符中对应 === .!==和 ==.!=. 先举个栗子 var str = '1' var num0 = 0 va ...
- JavaScript中的??和?.和??=操作符
JS中两种不常使用但挺实用的操作符:??和?. 一起来了解并学会使用它们吧: 空值合并操作符:?? 只有当操作符左侧为null或undefined时才会返回操作符右侧的值,否则返回左侧的值. eg: ...
- 关于javascript中对浮点加,减,乘,除的精度分析
大学专业是计算机童鞋或多或小的知道 计算机是由二进制存储和处理数字的,不能精确到处理浮点数,且javascript也没有这样的方法 所以在浏览器计算的时候也会有误差,比如说 我想用 3.3 / 1.1 ...
- Javascript中void操作符
Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值. void操作符用法格式如下:1.javascript:void (expression)2.javascript ...
- 为什么不要在 JavaScript 中使用位操作符?
如果你的第一门编程语言不是 JavaScript,而是 C++ 或 Java,那么一开始你大概会看不惯 JavaScript 的数字类型.在 JavaScript 中的数字类型是不区分什么 Int,F ...
- javascript中 (function(){})();如何理解?
javascript中 (function(){})();如何理解? javascript中: (function(){})()是匿名函数,主要利用函数内的变量作用域,避免产生全局变量,影响整体页面环 ...
- JavaScript中“javascript:void(0) ”是什么意思
来源: <a href="javascript:test();void(0);">here</a> 此处:Javascript中void是一个操作符,该操作 ...
随机推荐
- 手把手教你从Core Data迁移到Realm
来源:一缕殇流化隐半边冰霜 (@halfrost ) 链接:http://www.jianshu.com/p/d79b2b1bfa72 前言 看了这篇文章的标题,也许有些人还不知道Realm是什么,那 ...
- RedHat7搭建MongoDB
yum安装MongoDB 添加MongoDB源# vi /etc/yum.repos.d/mongodb-org-3.0.repo [mongodb-org-3.0] name=MongoDB Rep ...
- node express
在某QQ群里,发现大家都在搞node,为了不被out,这周主要研究了一下,还挺高大上. 参考了下资料,适合初学者学习. Node和NPM的安装够便捷了,不细说...有几点基础顺手提一下: 安装命令中的 ...
- 消息中间件MQ基础理论知识
欢迎转载,转载请注明出处:http://www.cnblogs.com/lidabnu/p/5723280.html 消息中间件已经流行很长时间,一般情况下,不需要自己来从头研发.设计消息中间件,所以 ...
- 为什么JS动态生成的input标签在后台有时候没法获取到
最近在做一个产品添加的功能,需求有点奇葩,所以在添加的时候免不了要用到动态生成控件,然后我就使用了JS去动态生成一些 checkbox类型的input标签,在以前用asp.net在后台生成的input ...
- .NET设计模式(4):建造者模式(Builder Pattern)
):建造者模式(Builder Pattern) .建造者模式的使用使得产品的内部表象可以独立的变化.使用建造者模式可以使客户端不必知道产品内部组成的细节. 2.每一个Builder都相对独立, ...
- Java String.format 自动补全不够的位数
http://www.blogjava.net/java-blog/articles/189040.html
- python文件操作汇总
1.创建文件 f = open(filename,'w+')
- Fast Report Data Filter
使用Data Filter两种方式:一种是 直接在Filter 属性里写表达式 ,另外一种就是在beforePrint 事件里写方法. 今天开发时遇到了一个Filter的问题,不知道是不是fast r ...
- 寒假ACM训练(二)
放了假的效率明显就低起来,最近也一直在学习Ubuntu,所以一直等到今天才写. 还是在用PC. 真的十分郁闷这个LC-Display,其实从思路上是有很多.不过我最后把他当成8字,分成了七笔. 一直W ...