当前位置: 首页 > article >正文

JavaScript valueOf() 方法详解

valueOf()

valueOf() 方法通常由 JavaScript 在后台自动调用,并不显式地出现在代码中。

所有主要浏览器都支持valueOf()。

Number对象

valueOf() 方法可以返回数字的原始值。

语法:

number.valueOf() 
// 返回一个数的原始值

返回一个 Number 对象的基本数字值:

var num = 15;
var n = num.valueOf(); 
console.log(n) // 15

String 对象

valueOf() 方法可返回 String 对象的原始值。

语法:

string.valueOf()

返回 String 对象的原始值:

var str="Hello world!";
document.write(str.valueOf());   // Hello world!

Boolean 对象

valueOf() 方法可返回 Boolean 对象的原始值。返回 true 或者 false

语法:

boolean.valueOf()

返回 Boolean 对象的原始值:

var bool = new Boolean(0);
var myvar = bool.valueOf();
console.log(myvar)  // false

Array 对象

valueOf() 方法返回 Array 对象的原始值。

该原始值由 Array 对象派生的所有对象继承。

语法:

array.valueOf()
// 返回数组值

valueOf() 是数组对象的默认方法。

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var v = fruits.valueOf();
console.log(v) // Banana,Orange,Apple,Mango
// fruits.valueOf()与 fruits返回值一样。

注意: valueOf() 方法不会改变原数组。

Date 对象

valueOf() 方法返回 Date 对象的原始值。

语法:

Date.valueOf()
// 返回date 的毫秒表示。返回值和方法 Date.getTime 返回的值相等,返回1970年1月1日午夜以来的毫秒数。

返回 Date 对象的原始值:

var d = new Date();
var n = d.valueOf();
console.log(n)  // 1707027925264

注意:原始值返回1970年1月1日午夜以来的毫秒数!

隐式转换

var arr = ["1", "2"]
var str = "1,2"
console.log(arr == str) // true

valueOf() 方法重写

Object.prototype.valueOf = function () {
    console.log("valueOf()方法重写")
}

console.log(null == undefined)    // true
console.log(1 == "1");  // true
console.log(1 == true);   // true
console.log(["1", "2"] == "1,2")  // false
console.log(["1"] == 1)  // false

http://www.kler.cn/a/232401.html

相关文章:

  • 《TCP/IP网络编程》学习笔记 | Chapter 10:多进程服务器端
  • 游戏引擎学习第10天
  • Exploring Defeasible Reasoning in Large Language Models: A Chain-of-Thought A
  • 从H264视频中获取宽、高、帧率、比特率等属性信息
  • Linux 下 mysql 9.1 安装设置初始密码 【附脚本】
  • 3. Sharding-Jdbc核⼼流 程+多种分⽚策略
  • Oracle的权限
  • 在工业制造方面,如何更好地实现数字化转型?
  • 蓝桥杯刷题day08——完全日期
  • [力扣 Hot100]Day26 环形链表 II
  • TCP的连接和断开详解
  • 【LeetCode每日一题】525连续数组 303区域和检索(前缀和的基本概念和3个简单案例)
  • 使用Linux docker方式快速安装Plik并结合内网穿透实现公网访问
  • leetcode69 x 的平方根
  • Antd+React+react-resizable实现表格拖拽功能
  • 代码随想录算法训练营DAY16 | 二叉树 (3)
  • 机器学习——有监督学习和无监督学习
  • SQL注入 - 利用报错函数 floor 带回回显
  • flask+vue+python跨区通勤人员健康体检预约管理系统
  • C++ 调用lua 脚本
  • Ubuntu 1804 And Above Coredump Settings
  • re:从0开始的CSS学习之路 6. 字体相关属性
  • NLP自然语言处理
  • 【Java EE】----SpringBoot的日志文件
  • Window环境下使用go编译grpc最新教程
  • Text2SQL研究-Chat2DB体验与剖析