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对JSON进行模式匹配(Part 1-设计)
Jul 17 Javascript
JQuery入门——事件切换之hover()方法应用介绍
Feb 05 Javascript
用js调用迅雷下载代码的二种方法
Apr 15 Javascript
JavaScript实现在页面间传值的方法
Apr 07 Javascript
JS实现的3D拖拽翻页效果代码
Oct 31 Javascript
jQuery通用的全局遍历方法$.each()用法实例
Jul 04 Javascript
JavaScript DOM 对象深入了解
Jul 20 Javascript
详解Node.js中的Async和Await函数
Feb 22 Javascript
vue 实现强制类型转换 数字类型转为字符串
Nov 07 Javascript
微信小程序swiper使用网络图片不显示问题解决
Dec 13 Javascript
js中调用微信的扫描二维码功能的实现代码
Apr 11 Javascript
让Vue响应Map或Set的变化操作
Nov 11 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中基本符号及使用方法
2010/03/23 PHP
使用PHP强制下载PDF文件示例
2014/01/17 PHP
php中的异常和错误浅析
2017/05/03 PHP
laravel 框架执行流程与原理简单分析
2020/02/01 PHP
如何在Mozilla Gecko 用Javascript加载XSL
2007/01/09 Javascript
javascript EXCEL 操作类代码
2009/07/30 Javascript
jQuery ajax BUG:object doesn't support this property or method
2010/07/06 Javascript
js Array操作的最简短最容易理解方法
2013/12/09 Javascript
jQuery中noConflict()用法实例分析
2015/02/08 Javascript
AngularJS实现全选反选功能
2015/12/08 Javascript
jQuery实现的网格线绘制方法
2016/06/20 Javascript
微信js-sdk上传与下载图片接口用法示例
2016/10/12 Javascript
基于JavaScript实现类名的添加与移除
2017/04/23 Javascript
select自定义小三角样式代码(实用总结)
2017/08/18 Javascript
详解从Vue.js源码看异步更新DOM策略及nextTick
2017/10/11 Javascript
ES6使用export和import实现模块化的方法
2018/09/10 Javascript
vue实现一个炫酷的日历组件
2018/10/08 Javascript
深入理解移动前端开发之viewport
2018/10/19 Javascript
vue动画效果实现方法示例
2019/03/18 Javascript
分享JS表单验证源码(带错误提示及密码等级)
2020/01/05 Javascript
Python实现的一个找零钱的小程序代码分享
2014/08/25 Python
Python中的__SLOTS__属性使用示例
2015/02/18 Python
python与sqlite3实现解密chrome cookie实例代码
2018/01/20 Python
python调用系统ffmpeg实现视频截图、http发送
2018/03/06 Python
Python3实现从排序数组中删除重复项算法分析
2019/04/03 Python
Python中对象的比较操作==和is区别详析
2021/02/12 Python
CSS3效果:自定义“W”形运行轨迹实例
2017/03/29 HTML / CSS
HTML5 canvas基本绘图之绘制五角星
2016/06/27 HTML / CSS
土木工程毕业生自荐信
2013/11/12 职场文书
财务部出纳岗位职责
2013/12/22 职场文书
大学生未来职业生涯规划书
2014/02/15 职场文书
励志广播稿300字(5篇)
2014/09/15 职场文书
处级领导班子全部召开专题民主生活会情况汇报
2014/09/27 职场文书
中学教师师德师风承诺书
2015/04/28 职场文书
党小组意见范文
2015/06/08 职场文书
详解CSS中的特指度和层叠问题
2021/07/15 HTML / CSS