首页 > 代码库 > ValueOf()和toString()
ValueOf()和toString()
var colors = ["red", "blue", "green"]; // 创建一个包含3 个字符串的数组 console.log(colors.toString()); // red,blue,green console.log(colors.valueOf()); // red,blue,green console.log(colors); // red,blue,green /*valueOf和toString方法区别*/ var arr = [1, 2, 3]; /*判断是否为数组*/ console.log(Array.isArray(arr.valueOf())); //true console.log(Array.isArray(arr.toString())); //false /* *其实valueOf()调用完以后还是返回一个数组 *这个数组被alert的时候会调用toString()函数 *所以不是valueOf()和toString()函数相同,而是,根本就是间接的调用了toString()函数! */ arr.toString = function() { console.log("你调用了toString函数"); } console.log(arr.valueOf()); console.log(arr.toString()); // 而对于数值,我们可以调用valueOf的时候直接可以获得数字进行计算, // 不必转化成字符串,所以不会调用toString反言之, // 如果我们需要获得操作对象的字符串形式的时候就会调用其toString函数 /*注:数字,只使用toString方法,当为字符串时,会自动调用valueof方法*/ var c = { i: 11111, valueOf: function() { console.log("你调用了c的valueOf函数"); return this.i; }, toString: function() { console.log("你调用了c的toString函数"); return this.i; } }; // 如果要求的是原始值那么就会调用valueOf, // 如果要求的是字符串那么就会调用toString。 alert(+c);//valueOf alert(c);//tostring
ValueOf()和toString()
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。