javascript变量怎么转换为字符串


当前第2页 返回上一页

1

2

3

4

5

6

7

8

9

10

11

12

var obj = {

 valueOf: function()

 {

  console.log("valueOf");

  return {};

 },

 toString: function()

 {

  console.log("toString");

  return {};

 }

};

调用结果:

1

2

3

4

5

6

7

8

> "" + obj

valueOf

toString

TypeError: Cannot convert object to primitive value

> String(obj)

toString

valueOf

TypeError: Cannot convert object to primitive value

它们的结果相同

""+valueString(value)虽然不同,但是我们很少能感觉到。因为,大多数object使用默认的valueOf() ,它返回对象本身:

1

2

3

> var x = {}

> x.valueOf() === x

true

由于valueOf()返回值并非primitive,因此ToPrimitive(Number)会跳过valueOf() ,而返回toString()的返回值。这样,与ToPrimitive(String)的返回值就一样了。

当object是Boolean、Number或者String实例时,valueOf()将返回primitive。这就意味着两者的计算过程是这样的:

  • ToPrimitive(Number) valueOf()返回primitive值,然后使用ToString()转换为字符串。
  • ToPrimitive(String) : toString()通过ToString()函数将primitive值转换为字符串。

可知,虽然计算过程不同,但是它们的结果是一样的。

结论

那么你该选择哪种方法呢?如果你可以确保value值不是null和undefined,那么不妨使用value.toString() 。否则,你只能使用""+valueString(value) ,它们基本上是一样的。

【相关推荐:javascript学习教程

以上就是javascript变量怎么转换为字符串的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

javascript脚本怎么运行

javascript怎么实现点击按钮跳转页面

javascript语法是什么

javascript怎么比较大小

javascript如何添加删除元素

javascript的基本特点有哪些

javascript电池状态信息api之promises

javascript最后怎么表示

javascript怎么去掉回车

javascript里的push方法有什么用

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...