JavaScript 加号(+)运算符号


Posted in Javascript onDecember 06, 2009

一,对于引用类型对象(我指的是String,Date,Object,Array,Function,Boolean)的+运算符运算过程如下!
1,首先调用此对象的valueOf方法,得到返回数值A
2,然后把此数值A转换成数字,得到的是最终数值

我的测试如下:

function w(s){ 
document.writeln("<br/>"); 
document.writeln(s); 
document.writeln("<br/>-----------------------------"); 
} 
String.prototype.valueOf=function(){return 1;}; 
w(+new String("sss"));//输出1 
String.prototype.valueOf=function(){return "a";}; 
w(+new String("sss"));//输出NaN 
Date.prototype.valueOf=function(){return 1;}; 
w(+new Date());//输出1 
Date.prototype.valueOf=function(){return "a";}; 
w(+new Date());//输出NaN 
Object.prototype.valueOf=function(){return 1;}; 
w(+{});//输出1 
Object.prototype.valueOf=function(){return "a";}; 
w(+{});//输出NaN 
Array.prototype.valueOf=function(){return 1;}; 
w(+[]);//输出1 
Array.prototype.valueOf=function(){return "a";}; 
w(+[]);//输出NaN 
var s=function(){}; 
Function.prototype.valueOf=function(){return 1;}; 
w(+s);//输出1 
Function.prototype.valueOf=function(){return "a";}; 
w(+s);//输出NaN 
Boolean.prototype.valueOf=function(){return 1;}; 
w(+new Boolean());//输出1 
Boolean.prototype.valueOf=function(){return "a";}; 
w(+new Boolean());//输出NaN

二,对于基本数据数据类型,其值转换成数字
w(+5);//输出5 
w(+true);//输出1 
w(+false);//输出0 
w(+"ss");//输出NaN 
w(+"111");//输出111
Javascript 相关文章推荐
让getElementsByName适应IE和firefox的方法
Sep 24 Javascript
jquery、js操作checkbox全选反选
Mar 12 Javascript
javascript使用正则表达式检测IP地址
Dec 03 Javascript
基于jQuery实现Ajax验证用户名是否存在实例
Mar 30 Javascript
详解webpack 多页面/入口支持&amp;公共组件单独打包
Jun 29 Javascript
Vue2.0基于vue-cli+webpack父子组件通信(实例讲解)
Sep 14 Javascript
JS中图片压缩的方法小结
Nov 14 Javascript
vue1.0和vue2.0的watch监听事件写法详解
Sep 11 Javascript
用npm-run实现自动化任务的方法示例
Jan 14 Javascript
JavaScript实现五子棋游戏的方法详解
Jul 08 Javascript
layer.open回调获取弹出层参数的实现方法
Sep 10 Javascript
基于js实现抽红包并分配代码实例
Sep 19 Javascript
javascript Demo模态窗口
Dec 06 #Javascript
jquery select操作的日期联动实现代码
Dec 06 #Javascript
JSON 编辑器实现代码
Dec 06 #Javascript
JS 控制非法字符的输入代码
Dec 04 #Javascript
对采用动态原型方式无法展示继承机制得思考
Dec 04 #Javascript
JavaScript 申明函数的三种方法 每个函数就是一个对象(一)
Dec 04 #Javascript
javascript 跳转代码集合
Dec 03 #Javascript
You might like
php array_map()数组函数使用说明
2011/07/12 PHP
php与flash as3 socket通信传送文件实现代码
2014/08/16 PHP
PHP实现自动识别Restful API的返回内容类型
2015/02/07 PHP
apache集成php7.3.5的详细步骤
2019/06/20 PHP
jquery checkbox全选、取消全选实现代码
2010/03/05 Javascript
javascript 随机展示头像实现代码
2011/12/06 Javascript
基于mootools插件实现遮罩层新手引导
2012/05/24 Javascript
jquery ui dialog实现弹窗特效的思路及代码
2013/08/03 Javascript
js 跳出页面的frameset框架示例介绍
2013/12/23 Javascript
AngularJS中的DOM操作用法分析
2016/11/04 Javascript
探秘vue-rx 2.0(推荐)
2018/09/21 Javascript
node app 打包工具pkg的具体使用
2019/01/17 Javascript
Vue+ElementUI项目使用webpack输出MPA的方法
2019/08/27 Javascript
vue.js 实现a标签href里添加参数
2019/11/12 Javascript
[32:17]完美世界DOTA2联赛循环赛LBZS vs Forest第二场 10月30日
2020/10/31 DOTA
Python写的一个简单监控系统
2015/06/19 Python
详解django的serializer序列化model几种方法
2018/10/16 Python
python发送多人邮件没有展示收件人问题的解决方法
2019/06/21 Python
Python脚本导出为exe程序的方法
2020/03/25 Python
Django REST Swagger实现指定api参数
2020/07/07 Python
python如何支持并发方法详解
2020/07/25 Python
matplotlib绘制正余弦曲线图的实现
2021/02/22 Python
伦敦一家非常流行的时尚精品店:Oxygen Boutique
2017/01/15 全球购物
美国克罗格超市在线购物:Kroger
2019/06/21 全球购物
女子职高个人自荐书
2014/02/01 职场文书
保险内勤岗位职责
2014/04/05 职场文书
戒毒悔改检讨书
2014/09/21 职场文书
2014大学生学生会工作总结
2014/12/19 职场文书
绍兴鲁迅故居导游词
2015/02/09 职场文书
父亲节活动总结
2015/02/12 职场文书
民间借贷借条如何写
2015/05/26 职场文书
施工现场安全管理制度
2015/08/05 职场文书
优化经济发展环境工作总结
2015/08/11 职场文书
一篇文章看懂MySQL主从复制与读写分离
2021/11/07 MySQL
纯 CSS 自定义多行省略的问题(从原理到实现)
2021/11/11 HTML / CSS
Nginx stream 配置代理(Nginx TCP/UDP 负载均衡)
2021/11/17 Servers