原标题:JavaScript 类型转换

Number() 转换为数字, String() 转换为字符串, Boolean() 转化为布尔值。

Java 数据类型

在 Java 中有 5 种不同的数据类型:

string

number

boolean

object

function

3 种对象类型:

Object

Date

Array

2 个不包含任何值的数据类型:

null

undefinedtypeof 操作符

你可以使用 typeof操作符来查看 Java 变量的数据类型。

实例

typeof"John"// 返回 stringtypeof3.14// 返回 numbertypeofNaN // 返回 numbertypeoffalse// 返回 booleantypeof[1,2,3,4] // 返回 objecttypeof{name:'John', age:34} // 返回 objecttypeofnewDate() // 返回 objecttypeoffunction() {} // 返回 functiontypeofmyCar // 返回 undefined (如果 myCar 没有声明)typeofnull// 返回 object

请注意:

NaN 的数据类型是 number

数组(Array)的数据类型是 object

日期(Date)的数据类型为 object

null 的数据类型是 object

未定义变量的数据类型为 undefined

如果对象是 Java Array 或 Java Date ,我们就无法通过 typeof来判断他们的类型,因为都是 返回 Object。

constructor 属性

constructor属性返回所有 Java 变量的构造函数。

实例

"John".constructor // 返回函数 String() { [native code] }(3.14).constructor // 返回函数 Number() { [native code] }false.constructor // 返回函数 Boolean() { [native code] }[1,2,3,4].constructor // 返回函数 Array() { [native code] }{name:'John', age:34}.constructor // 返回函数 Object() { [native code] }newDate().constructor // 返回函数 Date() { [native code] }function() {}.constructor // 返回函数 Function(){ [native code] }

你可以使用 constructor 属性来查看是对象是否为数组 (包含字符串 "Array"):

实例

functionisArray(myArray) {

returnmyArray.constructor.toString().indexOf("Array") > -1;

}

你可以使用 constructor 属性来查看是对象是否为日期 (包含字符串 "Date"):

实例

functionisDate(myDate) {

returnmyDate.constructor.toString().indexOf("Date") > -1;

}

Java 类型转换

Java 变量可以转换为新变量或其他数据类型:

通过使用 Java 函数

通过 Java 自身自动转换将数字转换为字符串

全局方法 String()可以将数字转换为字符串。

该方法可用于任何类型的数字,字母,变量,表达式:

实例

String(x) // 将变量 x 转换为字符串并返回String(123) // 将数字 123 转换为字符串并返回String(100+ 23) // 将数字表达式转换为字符串并返回

Number 方法 toString()也是有同样的效果。

实例

x.toString()

(123).toString()

(100+ 23).toString()

在 章节中,你可以找到更多数字转换为字符串的方法:

方法

描述

toExponential()

把对象的值转换为指数计数法。

toFixed()

把数字转换为字符串,结果的小数点后有指定位数的数字。

toPrecision()

把数字格式化为指定的长度。将布尔值转换为字符串

全局方法 String()可以将布尔值转换为字符串。

String(false) // 返回 "false"String(true) // 返回 "true"

Boolean 方法 toString()也有相同的效果。

false.toString() // 返回 "false"true.toString() // 返回 "true"

将日期转换为字符串

全局方法 String()可以将日期转换为字符串。

String(Date()) // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)

Date 方法 toString()也有相同的效果。

实例

Date().toString() // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)

在 章节中,你可以查看更多关于日期转换为字符串的函数:

方法

描述

getDate()

从 Date 对象返回一个月中的某一天 (1 ~ 31)。

getDay()

从 Date 对象返回一周中的某一天 (0 ~ 6)。

getFullYear()

从 Date 对象以四位数字返回年份。

getHours()

返回 Date 对象的小时 (0 ~ 23)。

getMilliseconds()

返回 Date 对象的毫秒(0 ~ 999)。

getMinutes()

返回 Date 对象的分钟 (0 ~ 59)。

getMonth()

从 Date 对象返回月份 (0 ~ 11)。

getSeconds()

返回 Date 对象的秒数 (0 ~ 59)。

getTime()

返回 1970 年 1 月 1 日至今的毫秒数。将字符串转换为数字

全局方法 Number()可以将字符串转换为数字。

字符串包含数字(如 "3.14") 转换为数字 (如 3.14).

空字符串转换为 0。

其他的字符串会转换为 NaN (不是个数字)。

Number("3.14") // 返回 3.14Number(" ") // 返回 0Number("") // 返回 0Number("99 88") // 返回 NaN

在 章节中,你可以查看到更多关于字符串转为数字的方法:

方法

描述

parseFloat()

解析一个字符串,并返回一个浮点数。

parseInt()

解析一个字符串,并返回一个整数。一元运算符 +

Operator +可用于将变量转换为数字:

实例

vary = "5"; // y 是一个字符串varx = + y; // x 是一个数字

如果变量不能转换,它仍然会是一个数字,但值为 NaN (不是一个数字):

实例

vary = "John"; // y 是一个字符串varx = + y; // x 是一个数字 (NaN)

将布尔值转换为数字

全局方法 Number()可将布尔值转换为数字。

Number(false) // 返回 0Number(true) // 返回 1

将日期转换为数字

全局方法 Number()可将日期转换为数字。

d = newDate();

Number(d) // 返回 1404568027739

日期方法 getTime()也有相同的效果。

d = newDate();

d.getTime() // 返回 1404568027739

自动转换类型

当 Java 尝试操作一个 "错误" 的数据类型时,会自动转换为 "正确" 的数据类型。

以下输出结果不是你所期望的:

5+ null// 返回 5 null 转换为 0"5"+ null// 返回"5null" null 转换为 "null""5"+ 1// 返回 "51" 1 转换为 "1""5"- 1// 返回 4 "5" 转换为 5

自动转换为字符串

当你尝试输出一个对象或一个变量时 Java 会自动调用变量的 toString() 方法:

document.getElementById("demo").innerHTML = myVar;

// if myVar = {name:"Fjohn"} // toString 转换为 "[object Object]"// if myVar = [1,2,3,4] // toString 转换为 "1,2,3,4"// if myVar = new Date() // toString 转换为 "Fri Jul 18 2014 09:08:55 GMT+0200"

数字和布尔值也经常相互转换:

// if myVar = 123 // toString 转换为 "123"// if myVar = true // toString 转换为 "true"// if myVar = false // toString 转换为 "false"

如您还有不明白的可以在下面与我留言或是与我探讨QQ群308855039,我们一起飞!返回搜狐,查看更多

责任编辑:

java和Js中的类型转换_JavaScript 类型转换相关推荐

  1. return true Java_[Java教程]js中return,return true,return false的用法及区别

    [Java教程]js中return,return true,return false的用法及区别 0 2015-11-16 23:00:03 1.语法及返回方式 ①返回控制与函数结果 语法为:retu ...

  2. java 中鼠标事件_[Java教程]js中鼠标事件总结

    [Java教程]js中鼠标事件总结 0 2017-07-11 00:00:19 js中鼠标事件主要有onclick,onmousedown,onmouseup,oncontextmenu,ondblc ...

  3. java有push方法么_[Java教程]js中push和join方法使用介绍

    [Java教程]js中push和join方法使用介绍 0 2013-10-09 07:00:17 push和join方法想必大家并不陌生吧,在本文将为大家详细介绍下js中的push和join方法的使用 ...

  4. java和js中遍历数组和对象的总结

    java和js中遍历数组和对象的总结 在这儿写遍历数组和对象,权当复习和总结 1.java中数组的三种初始化方法 ①静态初始化 [java] view plaincopy 1. int[] arr = ...

  5. 从λ演算到函数式编程聊闭包(1):闭包概念在Java/PHP/JS中形式

    什么是闭包 如果让谷哥找一下"闭包"这个词,会发现网上关于闭包的文章已经不计其数 维基百科上对闭包的解释就很经典: 在计算机科学中,闭包(Closure)是词法闭包(Lexical ...

  6. html中隐式转换成数字,详解JS中的隐式类型转换

    JS中隐式类型转换 JS中的数据类型 JS中的数据类型分为两大类: 1.基本数据类型: 1.String 字符串 表示一段文本,例如:人的姓名.地址等 2.Number 数值 3.Boolean 布尔 ...

  7. JS中的数据强制类型转换

    1.含义 强制类型转换指的是将一个数据类型强制转换为其他的数据类型 类型转换主要指,将其他的数据类型,转换为 String Number Boolean即字符串,数值和布尔值 2.将其他的数据类型转换 ...

  8. java和js中替换字符串的方法

    //java中字符串的替换方法: String a = "吴林飞-1a_,唐姐-2,周帅-3"; String f = a.replaceFirst("-", ...

  9. java和js中判断两个字符串是否相等对比

    链接一: JavaScript中的基本字符串与字符串对象的区别 链接二: JAVA如何判断两个字符串是否相等 链接三: js中的"=="和equals()以及is()三者的区别 在 ...

  10. Java和Js中的正则表达式

    什么是正则表达式? 正则表达式(Regular Expression)就是用某种模式去匹配一类字符串的公式.如你要在一篇文章中查找第一个字是"罗"最后一个字是"浩&quo ...

最新文章

  1. 中国的TD-LTE-Advanced被国际电联确立为4G标准!
  2. WinForm经典窗体皮肤[重绘]
  3. linux mysql 主从数据库_linux mysql数据库的主从配置
  4. icloud 购买存储空间_如何释放iCloud存储空间
  5. jeesite的junit,数据没有插入?
  6. 数据库笔记(数据库操作)
  7. network---written test
  8. matlab矩阵信号,matlab - 如何在Matlab中使用移位版本的信号样本创建矩阵? - SO中文参考 - www.soinside.com...
  9. 埋石图根点lisp代码_GPS测量作业流程.doc
  10. 交易系统典藏书籍总汇以及系统交易、程序化交易等经典资料收藏
  11. Javascript校验含中文的字符串长度
  12. java 对象转map,map转对象
  13. OpenLayers按像素距离平移地图
  14. portainer的安装使用
  15. RSE2021/云检测:基于小波变换和连续多尺度空间注意的上下块深度网络云检测
  16. 经纬度差和米单位的换算
  17. html表格类似excel固定表头样式,(转)supertable像excel那样固定table的表头和第一列...
  18. 企业内部搭建OpenVirtualPrivateNetwork快速入门
  19. 基于Andro平台的软件开发若干关键技术研究(笔记)
  20. Proguardgui

热门文章

  1. window安装python3装环境变量_Windows下的Python安装与环境变量的配置
  2. jrtplib 打包做了哪些事_30岁前就实现财务自由的人,都做了哪些事
  3. elementui可编辑单元格_关于遥感解译点室内解译编号的读取编辑方法
  4. 戴尔win10插耳机还外放_通州附近戴尔笔记本电脑维修哪家强-北京信维佳业科技有限公司...
  5. 一根网线有这么多“花样”,你知道吗?
  6. HDLBits答案(6)_硬件模块设计的思考方式
  7. 数据采集串口通信系统verilog设计和仿真
  8. 字符串类型的数字比较大小_Python核心知识系列:数字与字符串类型
  9. 服务器端Session和客户端Session
  10. Python之socketserver模块和验证客户端链接的合法性