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 相关文章推荐
JQuery 获取和设置Select选项的代码
Feb 07 Javascript
在JQuery dialog里的服务器控件 事件失效问题
Dec 08 Javascript
JS操作数据库的实例代码
Oct 17 Javascript
JS获取html对象的几种方式介绍
Dec 05 Javascript
详解Node.js中的事件机制
Sep 22 Javascript
AngularJS实现与Java Web服务器交互操作示例【附demo源码下载】
Nov 02 Javascript
详解js数组的完全随机排列算法
Dec 16 Javascript
微信小程序 传值取值的几种方法总结
Jan 16 Javascript
Vue组件之Tooltip的示例代码
Oct 18 Javascript
收集前端面试题之url、href、src
Mar 22 Javascript
Vue自定义指令上报Google Analytics事件统计的方法
Feb 25 Javascript
Vue中foreach数组与js中遍历数组的写法说明
Jun 05 Vue.js
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 xfocus防注入资料
2008/04/27 PHP
jquery一句话全选/取消全选
2011/03/01 Javascript
JavaScript获取元素尺寸和大小操作总结
2015/02/27 Javascript
浅谈js的异步执行
2016/10/18 Javascript
深入理解react-router 路由的实现原理
2018/09/26 Javascript
JS使用百度地图API自动获取地址和经纬度操作示例
2019/04/16 Javascript
Vue实战教程之仿肯德基宅急送App
2019/07/19 Javascript
React Native 混合开发多入口加载方式详解
2019/09/23 Javascript
浅谈Webpack4 Tree Shaking 终极优化指南
2019/11/18 Javascript
[01:54]胎教DOTA2 准妈妈玩家现身中国区预选赛
2016/06/26 DOTA
布同 Python中文问题解决方法(总结了多位前人经验,初学者必看)
2011/03/13 Python
python实现用户管理系统
2018/01/10 Python
Python深度优先算法生成迷宫
2018/01/22 Python
使用Python制作自动推送微信消息提醒的备忘录功能
2018/09/06 Python
对pandas中iloc,loc取数据差别及按条件取值的方法详解
2018/11/06 Python
python实现任意位置文件分割的实例
2018/12/14 Python
Python 实用技巧之利用Shell通配符做字符串匹配
2019/08/23 Python
python脚本实现音频m4a格式转成MP3格式的实例代码
2019/10/09 Python
python/Matplotlib绘制复变函数图像教程
2019/11/21 Python
Python configparser模块配置文件过程解析
2020/03/03 Python
Python字典取键、值对的方法步骤
2020/09/30 Python
h5实现获取用户地理定位的实例代码
2017/07/17 HTML / CSS
Myprotein蛋白粉美国官网:欧洲畅销运动营养品牌
2016/11/15 全球购物
SQL Server 2000数据库的文件有哪些,分别进行描述
2013/03/30 面试题
酒店公关部经理岗位职责
2013/11/24 职场文书
公益活动策划方案
2014/01/09 职场文书
工程开工庆典邀请函
2014/02/01 职场文书
银行爱岗敬业演讲稿
2014/05/05 职场文书
财务部副经理岗位职责范本
2014/06/17 职场文书
小平您好观后感
2015/06/09 职场文书
2015双创工作总结
2015/07/24 职场文书
前端学习——JavaScript原生实现购物车案例
2021/03/31 Javascript
django如何自定义manage.py管理命令
2021/04/27 Python
如何用JS实现简单的数据监听
2021/05/06 Javascript
详解JSON.parse和JSON.stringify用法
2022/02/18 Javascript
MySQL添加索引特点及优化问题
2022/07/23 MySQL