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");
相关新闻>>
- Javascript 兼容 IE6、IE7、FF 的“加入收藏”“设为首页”
- 好好学一遍JavaScript 笔记(一)——基础中的基础
- 好好学一遍JavaScript 笔记(二)——encode、数组、对象创建
- 好好学一遍JavaScript 笔记(三)——StringBuffer、prototype
- 好好学一遍javaScript 笔记(四)——Attribute、HTML元素、文档碎
- 好好学一遍JavaScript 笔记(五)——正则表达式基础
- 好好学一遍JavaScript 笔记(六)——正则表达式基础二
- 好好学一遍JavaScript 笔记(七)——RegExp对象与常用正则
- 好好学一遍JavaScript 笔记(八)——冒泡型事件、捕获型事件
- JavaScript详解
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>