关于JavaScript中的toString方法

在JS中,定义的所有对象都具有toString()方法。Number类型的toString()方法比较特殊,有默认模式和基模式两种。
默认模式:

var num1 = 12;
var num2 = 12.0;  

console.log(num1.toString());   //12  

console.log(num2.toString());    //12 

无论你用什么表示法声明数字,默认模式只是按十进制返回。

基模式:

var num = 12;  

alert(num.toString(2));     //1100  

alert(num.toString(8));     //14  

alert(num.toString(16));           //c  

很明显,基模式就是把数值型转换成相应的进制。

在数组中求最大值的时候,我用了toString方法和eval方法,对这个eval和toString似懂非懂,求大神解答toString方法对数组的应用

var arr = [1,6,8,9,6,8,7,10,0,2];

var arr2 =eval( '(' + arr.toString() + ')');

alert(arr2);        //2

var arr3 =Math.max( arr.toString() );

alert(arr3);        //NaN

var arrMax =eval( 'Math.max(' + arr.toString() + ')');

alert(arrMax);      //10

 var arr = [ 1,5,6,5,7,6,80,2 ];
//arr.toString()的结果是1,5,6,5,7,6,80,2字符串
var arr2 =eval( '(' + arr.toString() + ')');
//结合起来就是eval('(1,5,6,5,7,6,80,2)');//其中(1,5,6,5,7,6,80,2)就是逗号运算符,取最后一个2
alert(arr2);        //2

js的toString() 方法可把一个逻辑值转换为字符串,并返回结果。
而eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
参考:http://www.w3school.com.cn/jsref/jsref_toString_boolean.asp

toString方法可以用在数组上吗?为什么跟eval结合,每次得出的是数组的最后一位值?

var arr = [ 1,5,6,5,7,6,80,2 ];

var arr2 =eval( '(' + arr.toString() + ')');

alert(arr2);        //2

toString()返回字符串
JS eval()函数


    var arr = [1, 6, 8, 9, 6, 8, 7, 10, 0, 2];

    var arr2 = eval('(' + arr.toString() + ')');//多数组toString默认调用jion方法,参数为逗号,eval执行一串逗号分隔的数组会返回最后一个项,自己百度查js 逗号运算符

    alert(arr2);        //2

    var arr3 = Math.max(arr.toString());//返回字符,max需要数字参数

    alert(arr3);        //NaN

    var arrMax = eval('Math.max(' + arr.toString() + ')');//这个是执行eval执行代码

    alert(arrMax);      //10

toString方法可以用在任何定法,其作用就是将内容转为字符串(开头可结尾之间用一对单引号或双引号包裹起来);
而eval方法作用是解析字符串,将字符串内容解析为可以被执行的js代码,否则会报错。
toString方法与eval方法结合如果操作的是数组,因为逗号表达式的关系,则一定会得到数组中的最后一位