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.mzph.cn/news/675089.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【模板初阶】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 1. 泛型编程 2. 函数模板 2.1 函数模板概念 2.2 函数模板格式 2.3 函数模板的原理 2.4 函数模板的实例化 2.5 模板参数的匹配原则 3. 类模板 3.1 类模板的定义…

FPGA_工程_基于Rom的VGA图像显示

一 工程框图 框图中,CLK_in,Vga_ctrl,Vga_pic模块已有,只需要对顶层模块进行修改,并将rom ip例化添加到Vga_pic模块的.v文件中,对Vga_pic的.v文件进行一定修改。 二 理论补充 显示图像的方法:…

Mac 版 Excel 和 Windows 版 Excel的区别

Excel是一款由微软公司开发的电子表格程序,广泛应用于数据处理、分析和可视化等领域。它提供了丰富的功能和工具,包括公式、函数、图表和数据透视表等,帮助用户高效地处理和管理大量数据。同时,Excel还支持与其他Office应用程序的…

CSS中可继承与不可继承属性有哪些

一、无继承性的属性 1.display:规定元素应该生成的框的类型 属性值作用none元素不显示,并且会从文档流中移除。block块类型。默认宽度为父元素宽度,可设置宽高,换行显示。inline行内元素类型。默认宽度为内容宽度,不…

docker安装etherpad文档系统

效果 安装 1.创建并进入目录 mkdir -p /opt/etherpad cd /opt/etherpad 2.修改目录权限 chmod -R 777 /opt/etherpad 3.创建并启动容器 docker run -d --name etherpad --restart always -p 10054:9001 -v /opt/etherpad/data:/opt/etherpad-lite/var etherpad/etherpad:la…

【Java数据结构】ArrayList和LinkedList的遍历

一&#xff1a;ArrayList的遍历 import java.util.ArrayList; import java.util.Iterator; import java.util.List;/*** ArrayList的遍历*/ public class Test {public static void main(String[] args) {List<Integer> list new ArrayList<>();list.add(5);list…

XGB-4: 学习排序

概述 在信息检索的背景下&#xff0c;学习排序的目标是训练一个模型&#xff0c;将一组查询结果排列成有序列表[1]。对于监督学习排序&#xff0c;预测器是以特征矩阵编码的样本文档&#xff0c;标签是每个样本的相关性程度。相关性程度可以是多级&#xff08;分级&#xff09…

【ASP.NET Core 基础知识】--部署和维护--部署ASP.NET Core应用程序

一、部署准备 1.1 打包应用程序 打包应用程序是将ASP.NET Core应用程序准备好以便于部署到目标环境的关键步骤之一。在本文中&#xff0c;我们将从编译代码、收集依赖项和设置配置三个方面详细讲解如何打包ASP.NET Core应用程序&#xff0c;以确保在部署过程中的顺利进行。 编…

win32编程系统BUG(Win32 API中的WM_SETTEXT消息)

由于频繁使用Win32 API中的WM_SETTEXT消息&#xff0c;导致内存占用直线上升。 暂未找到有效解决方案。

HCIA--OSPF实验

1.划分网段&#xff0c;子网划分已完成&#xff1b;接口配置&#xff1a; AR1配置 &#xff1a; [Huawei]int g0/0/0 [Huawei-GigabitEthernet0/0/0]ip add 172.16.64.1 20 [Huawei-GigabitEthernet0/0/0]qu [Huawei]int l0 [Huawei-LoopBack0]ip add 172.16.80.1 20AR2配置…

Prime(VulnHub)

Prime 文章目录 Prime1、nmap2、web渗透随便看看首页隐写查看目录爆破gobusterferoxbusterdirsearchdirb whatwebsearchsploit WordPress 5.2.2/dev/secret.txtFuzz_For_Webwfuzzimage.phpindex.php location.txtsecrettier360文件包含漏洞包含出password.txt尝试ssh登入尝试登…

c#通过ExpressionTree 表达式树实现对象关系映射

//反射expression实现对象自动映射 void Main() {Person p1new(){Id1,Name"abc"};var persondto p1.MapTo<Person, PersonDto>();Console.WriteLine($"id:{persondto.Id}-name:{persondto.Name}"); }public static class AutoMapperExs { public s…

MPLS VPN功能组件

VPN实例 VPN实例即为VPN路由转发表VRF&#xff0c;不同VPN之间的路由隔离通过VPN实例实现&#xff0c;PE上存在多个路由转发表&#xff0c;包括一个公网路由转发表&#xff0c;以及一个或多个VPN路由转发表。 PE为每个直接相连的Site建立并维护专门的VPN实例&#xff0c;VPN实…

《计算机网络简易速速上手小册》第10章:未来网络技术趋势(2024 最新版)

文章目录 10.1 边缘计算与网络设计 - 未来网络的速度与激情10.1.1 基础知识10.1.2 重点案例&#xff1a;使用 Python 实现边缘计算的实时视频分析准备工作Python 脚本示例 10.1.3 拓展案例1&#xff1a;智能交通系统Python 脚本示例 - 边缘计算设备上的交通流量分析 10.1.4 拓展…

C/C++ - 异常处理

目录 错误处理 异常处理 异常传播 异常规划 标准异常 自定异常 错误处理 在C语言中&#xff0c;错误通常通过函数的返回值来表示。 错误返回值 对于能返回特殊值&#xff08;如NULL或负值&#xff09;的函数&#xff0c;在调用时检查这些值来处理错误。 #include <st…

C#系列-面向对象特性继承封装多态(2)

C#继承 在C#中&#xff0c;继承是面向对象编程的一个核心概念&#xff0c;它允许一个类&#xff08;派生类或子类&#xff09;继承另一个类&#xff08;基类或父类&#xff09;的属性和方法。通过继承&#xff0c;子类可以重用基类的代码&#xff0c;同时还可以添加新的成员或重…

高考志愿填报模拟系统的功能和技术总结

一、金秋志愿高考志愿填报系统主要功能&#xff1a; 用户注册与登录&#xff1a;允许学生和家长注册账号&#xff0c;使用注册的账号登录系统。 个人信息管理&#xff1a;允许用户查看、修改个人信息&#xff0c;如姓名、性别、联系方式等。 高考成绩输入&#xff1a;学生输…

windows上卸载完程序后,清理残余文件,无法删除的情况处理

现象&#xff1a;通常在卸载完软件后&#xff0c;要删除残余文件或者移动残余文件时候&#xff0c;会弹出来 原因&#xff1a; 因为文件被其他程序已经加载&#xff0c;处理的目标是找到使用这个文件的进程&#xff0c;然后kill掉。类似于linux上的lsof命令查找到进程号&…

SpringOne2023解读-01-使用spring-cloud-contract与TestContainer构建可靠程序

个人创作公约&#xff1a;本人声明创作的所有文章皆为自己原创&#xff0c;如果有参考任何文章的地方&#xff0c;会标注出来&#xff0c;如果有疏漏&#xff0c;欢迎大家批判。如果大家发现网上有抄袭本文章的&#xff0c;欢迎举报&#xff0c;并且积极向这个 github 仓库 提交…

如何在vue中使用拖动排序组件sortablejs

效果图&#xff1a; 1.首先&#xff0c;我们需要在vue项目中安装依赖&#xff1a; npm install -save sortablejs2.创建demo文件>demoTest.vue&#xff0c;直接附上实例代码&#xff1a; <template><div><div id"table-names"><div class&…