JavaScript对象的类型转换(2)

来源:未知 责任编辑:责任编辑 发表时间:2013-12-01 14:20 点击:

function myObject(objectName)  
{  
    this.objectName = objectName;  
}  
var myObj = new myObject("MyObj");  
 
//正常情况,首先调用valueOf()方法  
myObject.prototype.toString = function(){return 123;};  
myObject.prototype.valueOf = function(){return 321;};  
alert(myObj*2);         //结果为642  
 
//valueOf()方法返回不正确类型,调用toString()方法  
myObject.prototype.toString = function(){return 123;};  
myObject.prototype.valueOf = function(){return new Date();};  
alert(myObj*2);         //结果为246  
 
//toString()方法不存在,valueOf()方法返回不正确类型  
myObject.prototype.toString = undefined;  
myObject.prototype.valueOf = function(){return new Date();};  
alert(myObj*2);         //提示错误 
 
//自定义函数(类)
function myObject(objectName)
{
       this.objectName = objectName;
}
var myObj = new myObject("MyObj");
 
//正常情况,首先调用valueOf()方法
myObject.prototype.toString = function(){return 123;};
myObject.prototype.valueOf = function(){return 321;};
alert(myObj*2);                    //结果为642
 
//valueOf()方法返回不正确类型,调用toString()方法
myObject.prototype.toString = function(){return 123;};
myObject.prototype.valueOf = function(){return new Date();};
alert(myObj*2);                    //结果为246
 
//toString()方法不存在,valueOf()方法返回不正确类型
myObject.prototype.toString = undefined;
myObject.prototype.valueOf = function(){return new Date();};
alert(myObj*2);                    //提示错误
 
 当对象操作设计“+”运算符时就要特别注意,因为“+”既能进行算数操作,也能进行字符串拼接操作。
 
1.当“+”的两个操作数有对象类型时,先把对象根据上面的规则转换成基本数据类型;
 
2.转换完的两个操作数如果有一个是字符串类型的,则把另一个操作数转换成字符串;
 
3.否则,把两个操作数都转换成数值类型(或NaN),进行相加操作。
 
 
 
Js代码 
//自定义函数(类)  
function myObject(objectName)  
{  
    this.objectName = objectName;  
}  
var myObj = new myObject("MyObj");  
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Gb2312转utf-8编码的方法(vbs+js)
  • 如何使用Ajax技术开发Web应用程序(1)
  • js跳转路径问题
  • JavaScript模仿桌面窗口
  • 用js检测两个线段是否相交
  • 我知道的JavaScript -- 设计模式(桥接)应用之 – 验证器
  • 运用JavaScript构建你的第一个Metro式应用程序(on Windows
  • 我是如何去了解jquery的(六),案例之幻灯片轮换
  • Jquery封装幻灯片效果
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1