JavaScript 使用 valueOf()
■知識(shí)點(diǎn)
valueOfO方法能夠返回對(duì)象的值。主要用途:JavaScript自動(dòng)類型轉(zhuǎn)換時(shí)會(huì)默認(rèn)調(diào)用這個(gè)方法。Object對(duì)象默認(rèn)valueOfO方法返回值與toStringO方法返回值相同,但是部分類型對(duì)象重寫了valueOf()方法。
■實(shí)例設(shè)計(jì)
在下面的示例中,當(dāng)獲取自定義類型的對(duì)象p時(shí),console.log()方法會(huì)首先調(diào)用valueOf()方法,而不是toStringO方法,如果需要獲取該對(duì)象的字符串表示,則應(yīng)明確調(diào)用對(duì)象的toStringO方法。
function Point(x,y){ //自定義數(shù)據(jù)類型
this.x = x;
this.y = y;
}
Point.prototype.valueOf = function(){ //自定義Point數(shù)據(jù)類型的valueOf()方法
return "(" + this .x + "," + this.y + ")";
}
Point.prototype.toString = function(){ //自定義Point數(shù)據(jù)類型的toString()方法
return "[object Point]";
}
var p = new Point(26,68); //實(shí)例化對(duì)象
console.log("typeof p = n + p); //默認(rèn)調(diào)用valueOf()方法進(jìn)行類型轉(zhuǎn)換
console.log("typeof p = n + p.toString ()); //直接調(diào)用toString()方法進(jìn)行類型轉(zhuǎn)換
點(diǎn)擊加載更多評(píng)論>>