继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

关于valueOf() 和 toString(),我们需要知道的事儿

Finit
关注TA
已关注
手记 55
粉丝 70
获赞 147

一、valueOf()

1.解释:返回指定对象的原始值。
2.当对象需要原始值的时候,JavaScript会自动调用它。

  1. 不同类型对象的valueOf()方法的返回值

(1)Array 返回数组对象本身。
(2)Boolean 布尔值。
(3)Date 存储的时间是从 1970 年 1 月 1 日午夜开始计的毫秒数 UTC。
(4)Function 函数本身:

  function a(){console.log(1)}  a.valueOf()
  ƒ a(){console.log(1)}

(5)Number 数字值。
(6)Object 对象本身:

Chrome控制台结果

(7)String 字符串值。
(8)Math 和 Error 对象没有 valueOf 方法。

二、toString()

1.每个Object对象都包含该方法。
2.当Object对象以字符串方式引用时会被自动调用,注意,是Object对象。
3.默认调用时返回[object type]。例如:

var o = new Object();
o.toString();
控制台返回结果:"[object Object]"

4.可以使用toString()检测对象类型
例如:

var a="dd";
toString.call(a);//需要通过apply或者call方式调用
"[object String]"

不过貌似没啥实用性,采取这种调用方式无法获得"[object String]"。

两者都可以通过显示原型重新定义:

myObject.prototype.valueOf() = function myValueOf(){};
myObject.prototype.toString() = function myToString(){};

重写函数都可以为匿名函数。
打开App,阅读手记
3人推荐
发表评论
随时随地看视频慕课网APP

热门评论

这排版,我以后会注意的。

查看全部评论