ongl中tostring js中的object對(duì)象toString和valueOf的區(qū)別?
js中的object對(duì)象toString和valueOf的區(qū)別?Valueof更面向操作,toString更面向顯示。1. 在對(duì)象轉(zhuǎn)換期間(例如,alert(a)),將首先調(diào)用toString方法。如
js中的object對(duì)象toString和valueOf的區(qū)別?
Valueof更面向操作,toString更面向顯示。
1. 在對(duì)象轉(zhuǎn)換期間(例如,alert(a)),將首先調(diào)用toString方法。如果不重寫toString,將調(diào)用valueof方法。如果兩個(gè)方法都不重寫,則輸出object的toString。
2. 轉(zhuǎn)換為字符串類型時(shí)將首先調(diào)用toString方法,轉(zhuǎn)換為數(shù)字時(shí)將首先調(diào)用valueof方法。
3. 對(duì)于操作運(yùn)算符,valueof的優(yōu)先級(jí)高于toString。
Object.prototype.toString() 與to String()的區(qū)別是什么?
你好,我很高興回答你的問題。
首先,要理解這個(gè)問題,您必須知道JS中的原型是什么。
Prototye是JS中的原型對(duì)象。一旦在JS中創(chuàng)建了一個(gè)對(duì)象,它就會(huì)自動(dòng)獲得它的原型。例如:VAR person=function(){…}那么person對(duì)象會(huì)自動(dòng)擁有一個(gè)prototype對(duì)象。原型對(duì)象通過構(gòu)造函數(shù)屬性指向?qū)ο蟊旧???梢韵驅(qū)ο筇砑訉傩院头椒?,也可以向其原型添加屬性和方法。不同之處在于,原型中添加的方法和屬性由所有?duì)象實(shí)例共享。例如Object.prototye.to字符串()由從對(duì)象繼承的任何實(shí)例共享。
在JS中,任何對(duì)象都繼承自object對(duì)象,因此person類自然具有tostring()函數(shù)。這個(gè)toString()是通過調(diào)用person對(duì)象獲得的,并且Object.prototye.to字符串()帶有對(duì)象原型對(duì)象。如果person類沒有重寫tostring()函數(shù),那么它們實(shí)際上來自同一根。
我希望我的回答能解決你的問題。感謝您長期以來的關(guān)注和解決JS問題。