对于number、string、Boolean、object、symbol数据类型调用valueOf方法,得到的都是数据本身(null、undefined两种类型上的原型链上没有valueOf方法)

点击查看代码
var a = 1;
var aa = a.valueOf();
console.log(aa == a); //true var b = 'a';
var bb = b.valueOf();
console.log(bb === b); //true var c = true;
var cc = c.valueOf();
console.log(cc === c); //true var obj = {
name: 'age'
};
var objobj = obj.valueOf();
console.log(obj === objobj); //true var s = Symbol();
var ss = s.valueOf();
console.log(ss === s); //true

对number、string、boolean、symbol类型数据调用toString方法得到的是对应的字符串:对object类型数据调用toString方法得到的是”[object Object]“。(null、undefined两种类型上的原型链上没有toString方法)

点击查看代码
var a = 1;
var aaa = a.toString(); // "1" var b = 'a';
var bbb = b.toString(); // "a" var c = true;
var ccc = c.toString(); // "true" var obj = {
name: 'age',
};
var objobjobj = obj.toString(); //"[object Object]" var s = Symbol();
var sss = s.toString(); //"Symbol()"

如何能使下列的表达式返回true

点击查看代码
var a = {
i: 0,
valueOf: function() {
console.log('valueOf')
return ++this.i;
},
}
console.log(a == 1 && a == 2 && a == 3); //true

Js中valueOf和toString区别和使用的更多相关文章

  1. Javascript中valueOf与toString区别

    前言 基本上,所有JS数据类型都拥有这两个方法,null除外.它们俩解决JavaScript值运算与显示的问题,重写会加大它们调用的优化. 测试分析 先看一例:var aaa = {  i: 10,  ...

  2. js中const,var,let区别(转载)

    js中const,var,let区别 来源:https://www.cnblogs.com/zzsdream/p/6372729.html 今天第一次遇到const定义的变量,查阅了相关资料整理了这篇 ...

  3. js中const,var,let区别

    今天第一次遇到const定义的变量,查阅了相关资料整理了这篇文章.主要内容是:js中三种定义变量的方式const, var, let的区别. 1.const定义的变量不可以修改,而且必须初始化. co ...

  4. JS中NULL和undifined区别及NULL的作用

    1.博客地址:http://www.cnblogs.com/eastday/archive/2010/03/03/1677324.html 2.参考地址2:https://www.zhihu.com/ ...

  5. ES6 js中const,var,let区别 今天第一次遇到const定义的变量

    今天第一次遇到const定义的变量,查阅了相关资料整理了这篇文章.主要内容是:js中三种定义变量的方式const, var, let的区别. 1.const定义的变量不可以修改,而且必须初始化. 1 ...

  6. JS中call和apply区别有哪些 记录

    一.call和apply区别 传递参数的方式.用法上不同,主要是参数不完全同 (1).B.Function.call(A,arg,arg) 这个例子是讲A对象“调用”B对象的Function(某个具体 ...

  7. 【js】js中const,var,let区别

    在node.js使用例子中,第一次看到const的声明,查询了一下,可以看得出来: http://www.cnblogs.com/ksl666/p/5944718.html 参考 主要内容是:js中三 ...

  8. js中const,var,let区别 今天第一次遇到const定义

    今天第一次遇到const定义的变量,查阅了相关资料整理了这篇文章.主要内容是:js中三种定义变量的方式const, var, let的区别. 1.const定义的变量不可以修改,而且必须初始化. 1 ...

  9. js中const,var,let区别与用法(转)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/qq_36784628/article/d ...

  10. 深度理解js中var let const 区别

    首先要理解js中作用域的概念 作用域:指的是一个变量的作用范围 1.全局作用域 直接写在script中的js代码,在js中,万物皆对象,都在全局作用域,全局作用域在页面打开时创建,在全局作用域中有一个 ...

随机推荐

  1. #trie,动态规划#洛谷 2292 [HNOI2004]L语言

    题目 分析 建一棵trie,然后匹配最长前缀可以用\(dp\)做, 如果这个位置可以被匹配到那么可以从这个位置继续匹配 代码 #include <cstdio> #include < ...

  2. #高斯消元,概率期望,动态规划#洛谷 3211 [HNOI2011]XOR和路径

    题目 分析 由于不同二进制位互不影响,所以考虑按位处理 设\(dp[i]\)表示第\(i\)个点某一位为1的概率,那么 \[dp[i]=\frac{1}{deg[i]}(\sum_{(i,u)=0}d ...

  3. kube-apiserver限流机制原理

    本文分享自华为云社区<kube-apiserver限流机制原理>,作者:可以交个朋友. 背景 apiserver是kubernetes中最重要的组件,一旦遇到恶意刷接口或请求量超过承载范围 ...

  4. C 语言运算符详解

    C 语言中的运算符 运算符用于对变量和值进行操作. 在下面的示例中,我们使用 + 运算符将两个值相加: int myNum = 100 + 50; 虽然 + 运算符通常用于将两个值相加,就像上面的示例 ...

  5. 如何成为10x倍工程师

    10倍效率 +10x 的工程师很难找,但是 -10x 工程师是存在的. 所谓 -10x 工程师,就是每周要浪费团队 400 个小时的工程师. 他有以下特征: 创造无效的繁忙工作,比如演示文稿.图表.工 ...

  6. SpringBoot+阿里云OCR图片识别

    准备条件:阿里云OCR图片识别API购买,初次购买1分钱500次接口调用 一.控制层 @GetMapping("/uploadManual") @ApiOperation(&quo ...

  7. 大型场景中通过监督视图贡献加权进行多视图人物检测 Multi-View People Detection in Large Scenes via Supervised View-Wise Contribution Weighting

    Multi-View People Detection in Large Scenes via Supervised View-Wise Contribution Weighting 大型场景中通过监 ...

  8. 全面支持JS/eTS应用开发,DevEco Studio 3.0 Beta4新版本发布

    原文:https://mp.weixin.qq.com/s/j5Cl48ZxzEmnnpfoM0pKJg ,点击链接查看更多技术内容. HUAWEI DevEco Studio(后文简称DevEco ...

  9. Groovy反序列化链分析

    前言 Groovy 是一种基于 JVM 的开发语言,具有类似于 Python,Ruby,Perl 和 Smalltalk 的功能.Groovy 既可以用作 Java 平台的编程语言,也可以用作脚本语言 ...

  10. 重新整理.net core 计1400篇[八] (.net core 中的依赖注入的深入理解)

    生命周期策略 在实例Transient 和 Scoped 中,所以实现Idisposable 接口的服务实例会被当前IServiceProvider 对象保存起来,当IService 对象的Dispo ...