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 dialog键盘事件代码
Aug 01 Javascript
js iframe跨域访问(同主域/非同主域)分别深入介绍
Jan 24 Javascript
JQuery对class属性的操作实现按钮开关效果
Oct 11 Javascript
js数组操作学习总结
Nov 04 Javascript
jquery动态加载js/css文件方法(自写小函数)
Oct 11 Javascript
JavaScript中的alert()函数使用技巧详解
Dec 29 Javascript
jQuery包裹节点用法完整示例
Sep 13 Javascript
详解axios在node.js中的post使用
Apr 27 Javascript
Ant Design Vue 添加区分中英文的长度校验功能
Jan 21 Javascript
JavaScript随机数的组合问题案例分析
May 16 Javascript
vue解决跨域问题(推荐)
Nov 10 Javascript
JS封装cavans多种滤镜组件
Feb 15 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
Linux下CoreSeek及PHP扩展模块的安装
2012/09/23 PHP
php使用websocket示例详解
2014/03/12 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
2017/09/16 PHP
PHP递归实现快速排序的方法示例
2017/12/18 PHP
php实现的支付宝网页支付功能示例【基于TP5框架】
2019/09/16 PHP
基于laravel where的高级使用方法
2019/10/10 PHP
JavaScript入门教程(9) Document文档对象
2009/01/31 Javascript
jquery 打开窗口返回值实现代码
2010/03/04 Javascript
js+css在交互上的应用
2010/07/18 Javascript
jQuery学习基础知识小结
2010/11/25 Javascript
表格单元格交错着色实现思路及代码
2013/04/01 Javascript
HTML5之lang属性与dir属性的详解
2013/06/19 Javascript
AngularJS 日期格式化详解
2015/12/23 Javascript
JavaScript数组方法大全(推荐)
2016/07/05 Javascript
AngularJs ng-repeat 嵌套如何获取外层$index
2016/09/21 Javascript
nodejs简单实现操作arduino
2016/09/25 NodeJs
nodejs更新package.json中的dependencies依赖到最新版本的方法
2018/10/10 NodeJs
在微信小程序中使用mqtt服务的方法
2019/12/13 Javascript
javascript实现前端input密码输入强度验证
2020/06/24 Javascript
使用优化器来提升Python程序的执行效率的教程
2015/04/02 Python
Python+selenium实现自动循环扔QQ邮箱漂流瓶
2018/05/29 Python
Python 单元测试(unittest)的使用小结
2018/11/14 Python
通过python爬虫赚钱的方法
2019/01/29 Python
python中 * 的用法详解
2019/07/10 Python
python定义类的简单用法
2020/07/24 Python
HTML5 语义化结构化规范化
2008/10/17 HTML / CSS
anello泰国官方网站:日本流行包包品牌
2019/08/08 全球购物
简述数组与指针的区别
2014/01/02 面试题
药店促销活动策划方案
2014/08/24 职场文书
早读课迟到检讨书
2014/09/25 职场文书
房产转让协议书(2014版)
2014/09/30 职场文书
党校党性分析材料
2014/12/19 职场文书
《跨越海峡的生命桥》教学反思
2016/02/18 职场文书
《成长的天空》读后感3篇
2019/12/06 职场文书
Java 垃圾回收超详细讲解记忆集和卡表
2022/04/08 Java/Android
腾讯云服务器部署前后分离项目之前端部署
2022/06/28 Servers