2 tjh666slj tjh666slj 于 2016.01.21 11:26 提问

关于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

6个回答

danielinbiti
danielinbiti   Ds   Rxr 2016.01.21 12:09
已采纳
 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
showbo
showbo   Ds   Rxr 2016.01.21 12:14

    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
wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.01.21 11:30

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

wojiushiwo945you
wojiushiwo945you 回复凸必囊波丸: 可以用在数组上的。你可以参考w3school上的教程,很详细的,还可以自己写代码在线测试。
2 年多之前 回复
tjh666slj
tjh666slj 谢谢您,toString方法可以用在数组上吗?为什么跟eval结合,每次得出的是数组的最后一位值?
2 年多之前 回复
tjh666slj
tjh666slj 谢谢您,toString方法可以用在数组上吗?为什么跟eval结合,每次得出的是数组的最后一位值?
2 年多之前 回复
enpterexpress
enpterexpress   Rxr 2016.01.21 11:37

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

qq_19891827
qq_19891827   2016.01.21 14:50

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

tjh666slj
tjh666slj   2016.01.21 11:36

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

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

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

alert(arr2);        //2

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
javascript中的toString方法
简介toString()函数用于将当前对象以字符串的形式返回。 该方法属于Object对象,由于所有的对象都是Object对象的实例,所以几乎所有的实例对象都可以使用toString方法。 toString()函数的返回值为String类型。返回当前对象的字符串形式,但是每个类型的返回值不一样,这是因为javascript的很多内置对象都重写了该方法,以切合和实现自身的功能需要,这就是今天要写这
javascript中toString()方法
【1】undefined和null没有toString()方法 undefined.toString();//错误 null.toString();//错误 【2】布尔型数据true和false返回对应的’true’和’false’ true.toString();//'true' false.toString();//'false' Boolean.toString();//"func...
JavaScript Object使用toString
今天偶然看到个js面试题目,问控制台输出信息是什么。 var a = {}; var b = {name:"ZS"}; var c = {}; c[a] = "demo1"; c[b] = "demo2"; console.log(c[a]); console.log(c); 首先,a为空对象,b为name属性值为ZS的对象,c也为空对象; 之后,依次给c添加属性分别为a、b,值为de
javascript如何重写toString方法
javascript中,没有类的概念。要重写Object的toString方法,可以通过其prototype去实现。比如,自己定义了一个数组类,重写toString过程如下:MyArray.prototype = {//重写toString方法 toString : fun
javascript模拟重载,toString方法的重写
/***重载模拟***/ function _person(){ var args=arguments; if(typeof args[0]=="object"&&args[0]){ if(args[0].name){ this.name=args[0].name; } if(args[0].age){ this.age=args[0].age; } }else{
JS中的 toString 和 valueOf 方法
1.存在环境所有的对象都继承了这两个方法,甚至于包装对象Number、String和Boolean。 2.具体细节对于不同类型的对象,js定义了多个版本的 toString 和 valueOf 方法 toString: (1)普通对象,返回 "[object Object]"; (2)数组,返回数组元素之间添加逗号合并成的字符串; (3)函数,返回函数的定义式的字符串; (4)日期对象,返回一个可读
js中toString的用法
在JS中,定义的所有对象都具有toString()方法。Number类型的toString()方法比较特殊,有默认模式和基模式两种。默认模式的例子: var num1 = 10; var num2 = 10.0; alert(num1.toString());//输出10 alert(num2.toString());//输出10 无论你用什么表示法声明数字,默认模式只是按十进制返回。基模式的例子:
JavaScript中i.toString(16)的理解,Number.prototype.toString
一般使用toString()方法就是把他变成字符串,但是带参数的toString(16)方法,还是真的少见,因为JavaScript语言是若类型的。所以,这个怎么理解呢? 看下面的截图,额,这个就是chrome浏览器的debug模式下,调试JavaScript代码。 可以看到,他就是把一个数字对象,注意,前提是数字对象。因为JavaScript是弱类型的, 经过我上面截图的调
javascript的tostring()和join方法
 以前不知道,原来,js数组可以用tostring分开。例如: var str = new Array("a","b","c");document.write(str.toString());输出:a,b,c 也可以这样, var str = new Array("a","b","c");document.write(str.join(","));输出的
JS之Number的toString方法
JS