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 相关文章推荐
asp javascript 实现关闭窗口时保存数据的办法
Nov 24 Javascript
firefox下jquery ajax返回object XMLDocument处理方法
Jan 26 Javascript
深入理解JavaScript系列(40):设计模式之组合模式详解
Mar 04 Javascript
javascript生成不重复的随机数
Jul 17 Javascript
JavaScript 链式结构序列化详解
Sep 30 Javascript
通过sails和阿里大于实现短信验证
Jan 04 Javascript
bootstrap为水平排列的表单和内联表单设置可选的图标
Feb 15 Javascript
详解Node.js模板引擎Jade入门
Jan 19 Javascript
vue.js在标签属性中插入变量参数的方法
Mar 06 Javascript
vue的style绑定background-image的方式和其他变量数据的区别详解
Sep 03 Javascript
js验证密码强度解析
Mar 18 Javascript
vue中的.$mount('#app')手动挂载操作
Sep 02 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
浅谈discuz密码加密的方式
2014/05/22 PHP
PHP操作MySQL事务实例
2014/11/05 PHP
PHP7.0安装笔记整理
2015/08/28 PHP
PHP 的Opcache加速的使用方法
2017/12/29 PHP
再谈javascript图片预加载技术(详细演示)
2011/03/12 Javascript
Ext.get() 和 Ext.query()组合使用实现最灵活的取元素方式
2011/09/26 Javascript
JQuery实现简单时尚快捷的气泡提示插件
2012/12/20 Javascript
JS/FLASH实现复制代码到剪贴板(兼容所有浏览器)
2013/05/27 Javascript
html5 canvas js(数字时钟)实例代码
2013/12/23 Javascript
如何动态的导入js文件具体该怎么实现
2014/01/14 Javascript
JS中prototype的用法实例分析
2015/03/19 Javascript
JS简单获取客户端IP地址的方法【调用搜狐接口】
2016/09/05 Javascript
JS自定义函数对web前端上传的文件进行类型大小判断
2016/10/19 Javascript
微信小程序 devtool隐藏的秘密
2017/01/21 Javascript
ES6新特性之数组、Math和扩展操作符用法示例
2017/04/01 Javascript
Three.js加载外部模型的教程详解
2017/11/10 Javascript
LayerClose弹窗关闭刷新方法
2018/08/17 Javascript
微信小程序Getuserinfo解决方案图解
2018/08/24 Javascript
JavaScript使用indexOf()实现数组去重的方法分析
2018/09/04 Javascript
js指定日期增加指定月份的实现方法
2018/12/19 Javascript
[02:57]DOTA2亚洲邀请赛 SECRET战队出场宣传片
2015/02/07 DOTA
在Python的Flask框架中使用日期和时间的教程
2015/04/21 Python
Django利用cookie保存用户登录信息的简单实现方法
2019/05/27 Python
python 串口读取+存储+输出处理实例
2019/12/26 Python
Python如何批量获取文件夹的大小并保存
2020/03/31 Python
如何基于windows实现python定时爬虫
2020/05/01 Python
django美化后台django-suit的安装配置操作
2020/07/12 Python
MYSQL相比于其他数据库有哪些特点
2013/07/19 面试题
如何写好建议书
2014/03/13 职场文书
模具专业求职信
2014/06/26 职场文书
知识就是力量演讲稿
2014/09/13 职场文书
科长个人四风问题整改措施思想汇报
2014/10/13 职场文书
交警正风肃纪剖析材料
2014/10/29 职场文书
初中作文评语
2014/12/25 职场文书
缓存替换策略及应用(以Redis、InnoDB为例)
2021/07/25 Redis
VUE递归树形实现多级列表
2022/07/15 Vue.js