今天一位刚毕业的同事问了我一个问题,为什么这段代码执行结果是-1.代码如下:

var o = {valueOf: function(){return -1;}
};
o = +o;

当时我也是懵逼的,纳尼?没有调用valueOf方法,他怎么自己执行了。经过网上查阅,最终知晓了原因。

valueOf()方法和toString()方法是一样的,都会在后台进行隐式的调用,在 o = +o时,等号右边就已经调用了valueOf(),相当于 o = +(-1);所以,最终结果o为-1.

谨以此纪念长时间不看基础知识,导致的一些知识体系的漏洞。

大家共勉。

转载于:https://www.cnblogs.com/tincyho/p/9582680.html

js中valueOf方法的使用相关推荐

  1. JS 中 valueOf() 方法的详解

    JS 中 valueOf() 方法的详解 JavaScript 中的 valueOf() 方法用于返回指定对象的原始值,若对象没有原始值,则将返回对象本身.通常由JavaScript内部调用,而不是在 ...

  2. JS中toFixed()方法的问题及解决方案

    JS中toFixed()方法的问题及解决方案 参考文章: (1)JS中toFixed()方法的问题及解决方案 (2)https://www.cnblogs.com/gushen/archive/201 ...

  3. js中toFixed方法的两个坑

    js中toFixed方法的两个坑 toFixed返回结果是string,后续使用它计算会错误 toFixed返回结果可能出现负零-0.00 toFixed返回结果是string,后续使用它计算会错误 ...

  4. Js中fetch方法

    Js中fetch方法 fetch()方法定义在Window对象以及WorkerGlobalScope对象上,用于发起获取资源的请求,其返回一个Promise对象,这个Promise对象会在请求响应后被 ...

  5. created写法_vue.js中created方法作用

    这是它的一个生命周期钩子函数,就是一个vue实例被生成后调用这个函数.一个vue实例被生成后还要绑定到某个html元素上,之后还要进行编译,然后再插入到document中.每一个阶段都会有一个钩子函数 ...

  6. 【转载】JS中bind方法与函数柯里化

    原生bind方法 不同于jQuery中的bind方法只是简单的绑定事件函数,原生js中bind()方法略复杂,该方法上在ES5中被引入,大概就是IE9+等现代浏览器都支持了(有关ES5各项特性的支持情 ...

  7. 前端开发:JS中join()方法的使用总结

    前言 在前端开发过程中,对数组的数据进行处理也是比较常见的操作之一,而且对数组进行操作的频率远远大于对 对象进行操作,因此在开发过程中对于数组里面的数据进行处理是一项比较重要的技能,尤其是对于刚入行的 ...

  8. vue在created调用点击方法_vue.js中created方法的使用详解

    这次给大家带来vue.js中created方法的使用详解,使用vue.js中created方法的注意事项有哪些,下面就是实战案例,一起来看一下. 这是它的一个生命周期钩子函数,就是一个vue实例被生成 ...

  9. Java中valueOf()方法

    Java中valueOf()方法 1.先看源代码怎么说: Returns an Integer object holding the value of the specified String,The ...

最新文章

  1. 2345电脑管家_极限挑战:同时安装4大国产杀毒软件,我的电脑是最安全的?
  2. pandas基本数据操作
  3. Java中swing和awt初了解
  4. 登录账号,玩猜数字游戏
  5. TCP/IP协议 和 如何实现 互联网上点对点的通信
  6. SAP Cloud Platform创建Destination时Additional properties属性的维护
  7. 在 dotnet runtime 的容器中安装 dotnet global tool
  8. linux 串口 vmin vtime ,Linux串口c_cc[VTIME]和c_cc[VMIN]属性设置的作用
  9. atitit 知识压缩的总结 学习方法总结v2 t55.docx 目录 1.1. 压缩目的 1 1.2. 压缩分类 无损压缩 有损压缩 1 2. 功能指标 2 2.1. 压缩比:有损压缩一般1
  10. CVPR2021 | 视频超分辨率中时空蒸馏方案
  11. 《计算机网络》读书笔记
  12. Spring Security 密码加密器 Pbkdf2PasswordEncoder 、 BCryptPasswordEncoder
  13. windows操作系统---1
  14. 如何轻松做好设备巡检管理?
  15. 【雅思大作文考官范文】——第十三篇:'traditions and technology' essay
  16. Android开源项目 个性化控件(View)
  17. linux 下shell中if的“-e,-d,-f”是什么意思
  18. 妙用 Java 8 中的 Function 接口,消灭 if...else(非常新颖的写法)
  19. 递推算法之斐波那契数列——昆虫繁殖
  20. 理论分布和抽样分布------(四)抽样分布

热门文章

  1. 科讯 kesionCMS =8.0 9.0 任意下载漏洞最新 Exp
  2. 魔乐科技安卓开发教程----李兴华----01文件存储
  3. java小说目录提取_完整Java爬取起点小说网小说目录以及对应链接
  4. 用python写一个16进制转换文本字符串
  5. 织梦的php模板文件在哪,主要模板文件与功能说明
  6. 白盒测试案例分析(在十个球中找一个假球),并在Junit下进行测试
  7. Hybrd A*(混合A*)算法
  8. Java 8中的mapToInt
  9. 苹果12面容解锁如何使用
  10. class类的实践代码