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 相关文章推荐
在一个form用一个SUBMIT(或button)分别提交到两个处理表单页面的代码
Feb 15 Javascript
artdialog的图片/标题以及关闭按钮不显示的解决方法
Jun 27 Javascript
js查找某元素中的所有图片地址的方法
Jan 16 Javascript
浅谈javascript的Array.prototype.slice.call
Aug 31 Javascript
JS数组合并push与concat区别分析
Dec 17 Javascript
JavaScript核心语法总结(推荐)
Jun 02 Javascript
Bootstrap实现下拉菜单多级联动
Nov 23 Javascript
详解js的视频和音频采集
Aug 09 Javascript
vue的全局变量和全局拦截请求器的示例代码
Sep 13 Javascript
LayUI数据接口返回实体封装的例子
Sep 12 Javascript
Vue插件之滑动验证码用法详解
Apr 05 Javascript
如何用JavaScipt测网速
May 09 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
可快速识别放射性物质-国外大神教你diy一个开放式辐射探测器
2020/03/12 无线电
php提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
2012/05/06 PHP
php提供实现反射的方法和实例代码
2019/09/17 PHP
许愿墙中用到的函数
2006/10/07 Javascript
javascript 获取所有id中包含某关键字的控件的实现代码
2010/11/25 Javascript
javascript模拟的Ping效果代码 (Web Ping)
2011/03/13 Javascript
五段实用的js高级技巧
2011/12/20 Javascript
人人网javascript面试题 可以提前实现下
2012/01/05 Javascript
jquery使用ajax实现微信自动回复插件
2014/04/28 Javascript
Jquery 实现grid绑定模板
2015/01/28 Javascript
location.hash保存页面状态的技巧
2016/04/28 Javascript
最全面的JS倒计时代码
2016/09/17 Javascript
学习vue.js计算属性
2016/12/03 Javascript
BootstrapValidator超详细教程(推荐)
2016/12/07 Javascript
利用BootStrap的Carousel.js实现轮播图动画效果
2016/12/21 Javascript
JS日程管理插件FullCalendar中文说明文档
2017/02/06 Javascript
jquery中$.fn和图片滚动效果实现的必备知识总结
2017/04/21 jQuery
Vuejs 实现简易 todoList 功能 与 组件实例代码
2018/09/10 Javascript
Vue中 key keep-alive的实现原理
2018/09/18 Javascript
使用vue实现多规格选择实例(SKU)
2019/08/23 Javascript
react antd表格中渲染一张或多张图片的实例
2020/10/28 Javascript
element-ui 弹窗组件封装的步骤
2021/01/22 Javascript
Python爬虫小技巧之伪造随机的User-Agent
2018/09/13 Python
Pycharm设置utf-8自动显示方法
2019/01/17 Python
django基于restframework的CBV封装详解
2019/08/08 Python
浅谈Selenium 控制浏览器的常用方法
2020/12/04 Python
CSS实现圆形放大镜狙击镜效果 只有圆圈里的放大
2012/12/10 HTML / CSS
英国手机零售商:Metrofone
2019/03/18 全球购物
巴西最大的巴士票务门户:Quero Passagem
2020/11/21 全球购物
宿舍打麻将检讨书
2014/01/24 职场文书
写给女朋友的检讨书
2014/01/28 职场文书
高中升旗仪式演讲稿
2014/09/09 职场文书
2014年大学团支部工作总结
2014/12/02 职场文书
小学少先队工作总结2015
2015/05/26 职场文书
休学证明范本
2015/06/19 职场文书
工伤事故赔偿协议书
2015/08/06 职场文书