JavaScript 使用 valueOf()
■知識點
valueOfO方法能夠返回對象的值。主要用途:JavaScript自動類型轉(zhuǎn)換時會默認(rèn)調(diào)用這個方法。Object對象默認(rèn)valueOfO方法返回值與toStringO方法返回值相同,但是部分類型對象重寫了valueOf()方法。
■實例設(shè)計
在下面的示例中,當(dāng)獲取自定義類型的對象p時,console.log()方法會首先調(diào)用valueOf()方法,而不是toStringO方法,如果需要獲取該對象的字符串表示,則應(yīng)明確調(diào)用對象的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); //實例化對象
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)換
點擊加載更多評論>>