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 相关文章推荐
用javascript自动显示最后更新时间
Mar 15 Javascript
jquery插件之easing 动态菜单
Aug 21 Javascript
innerHTML与jquery里的html()区别介绍
Oct 12 Javascript
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
Apr 08 Javascript
jquery实现鼠标拖动图片效果示例代码
Jan 09 Javascript
JavaScript前端开发之实现二进制读写操作
Nov 04 Javascript
js实现网页收藏功能
Dec 17 Javascript
jQuery简单实现tab选项卡切换效果
Jun 20 Javascript
jquery+ajax实现省市区三级联动效果简单示例
Jan 04 Javascript
分享bootstrap学习笔记心得(组件及其属性)
Jan 11 Javascript
vue.js实现点击后动态添加class及删除同级class的实现代码
Apr 04 Javascript
js前端面试常见浏览器缓存强缓存及协商缓存实例
Jun 21 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教程之PHP中shell脚本的使用方法分享
2012/02/23 PHP
php中运用http调用的GET和POST方法示例
2014/09/29 PHP
php使用PDO下exec()函数查询执行后受影响行数的方法
2017/03/28 PHP
背景图跟随鼠标移动的Mootools插件实现代码
2011/12/12 Javascript
JQuery表格内容过滤的实现方法
2013/07/05 Javascript
javascript实例--教你实现扑克牌洗牌功能
2014/05/15 Javascript
js实现遍历含有input的table实例
2015/12/07 Javascript
sencha ext js 6 快速入门(必看)
2016/06/01 Javascript
Javascript的比较汇总
2016/07/25 Javascript
jQuery事件对象总结
2016/10/17 Javascript
JQueryEasyUI之DataGrid数据显示
2016/11/23 Javascript
获取当前按钮或者html的ID名称实例(推荐)
2017/06/23 Javascript
详解Angular中通过$location获取地址栏的参数
2018/08/02 Javascript
vue在手机中通过本机IP地址访问webApp的方法
2018/08/15 Javascript
浅谈vuex actions和mutation的异曲同工
2018/12/13 Javascript
详解单页面路由工程使用微信分享及二次分享解决方案
2019/02/22 Javascript
javascript验证form表单数据的案例详解
2019/03/25 Javascript
微信小程序中使用echarts的实现方法
2019/04/24 Javascript
JavaScript缓动动画函数的封装方法
2020/11/25 Javascript
vue实现登录、注册、退出、跳转等功能
2020/12/23 Vue.js
详解node.js创建一个web服务器(Server)的详细步骤
2021/01/15 Javascript
[01:51]2014DOTA2西雅图邀请赛 MVP 外卡赛black场间采访
2014/07/09 DOTA
[03:41]DOTA2上海特锦赛小组赛第三日recap精彩回顾
2016/02/28 DOTA
python调用cmd命令行制作刷博器
2014/01/13 Python
python删除列表内容
2015/08/04 Python
python基于三阶贝塞尔曲线的数据平滑算法
2019/12/27 Python
tensorflow2.0与tensorflow1.0的性能区别介绍
2020/02/07 Python
Django实现列表页商品数据返回教程
2020/04/03 Python
Scrapy中如何向Spider传入参数的方法实现
2020/09/28 Python
Godiva巧克力英国官网:比利时歌帝梵巧克力
2018/08/28 全球购物
临床医学大学生求职信
2013/09/28 职场文书
公司道歉信范文
2014/01/09 职场文书
党员对照检查材料思想汇报
2014/09/16 职场文书
行政执法队伍作风整顿个人剖析材料
2014/10/11 职场文书
2016参观监狱警示教育活动心得体会
2016/01/15 职场文书
Python 把两层列表展开平铺成一层(5种实现方式)
2021/04/07 Python