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

JavaScript 使用 valueOf()

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

■知識(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)換

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

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