js中toString和valueOf的区别

JavaScript014

js中toString和valueOf的区别,第1张

toString:返回对象的字符串表示形式。

语法:objectname.toString([radix])

objectname要为其搜索字符串表示形式的对象。

radix可选,为将数字值转换为字符串指定一个基数。  此值仅用于数字。

     toString 方法是一个所有内置的 JavaScript 对象的成员。  它的行为取决于对象的类型:

2.valueOf:返回指定对象的基元值。

语法:object.valueOf( )

object 引用是任何内部 JavaScript 对象,将通过不同的方式为每个内部 JavaScript 对象定义 valueOf 方法。Math 和 Error 对象都没有 valueOf 方法。

总结:toString主要是把对象转换为字符串,而valueOf主要把对象转换成一个基本数据的值这就是他们之间最基本的区别。

val()是jQuery方法,如:$("input:text").val(),或$("input:text").val("demo")

value是js对象的属性,如document.getElementById("demo").value,或document.getElementById("demo").value="demo"。

valueof是js对象的方法,如

var fruits = ["Banana", "Orange", "Apple", "Mango"]

var v=fruits.valueOf()

结果是:Banana,Orange,Apple,Mango

valueOf偏向于运算,toString偏向于显示。<br>1、 在进行对象转换时(例如:alert(a)),将优先调用toString方法,如若没有重写toString将调用valueOf方法,如果两方法都不没有重写,但按Object的toString输出。<br>2、 在进行强转字符串类型时将优先调用toString方法,强转为数字时优先调用valueOf。<br>3、 在有运算操作符的情况下,valueOf的优先级高于toString。