位置:首頁 > 軟件操作教程 > 編程開發(fā) > JavaScript > 問題詳情

JavaScript 使用 valueOf()

提問人:劉團(tuán)圓發(fā)布時間:2020-11-25

■知識點(diǎn)

valueOfO方法能夠返回對象的值。主要用途:JavaScript自動類型轉(zhuǎn)換時會默認(rèn)調(diào)用這個方法。Object對象默認(rèn)valueOfO方法返回值與toStringO方法返回值相同,但是部分類型對象重寫了valueOf()方法。

■實(shí)例設(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);                            //實(shí)例化對象

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)換

繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部