1. typeof 操作符

使用typeof操作符来检测变量的数据类型。

使用方式:typeof 变量名 或者 typeof(变量名)

返回结果: number、string、boolean、object、undefined、function

typeof {}    // 返回object
typeof []   // 返回object
typeof null // 返回object
typeof undefined    // 返回undefined
typeof(function() {})   // 返回function

注:

  • typeof返回结果的类型为string类型。
  • 在JavaScript中,数组是一种特殊的对象类型。
  • 在JavaScript中,null表示一个空对象的引用。

null和undefined的异同:

  • null和undefined的值相等,类型不同
  • undefined 表示声明的变量未赋值,默认值为undefined。
  • null 一般表示主动释放指向对象的引用,不再指向任何对象地址。

2. 显式类型转换

Number():将其它类型的参数值转换成number类型的参数值。

注:

  • 不管是否成功转换,其结果的类型都是number类型。
  • 如果一个参数值不能转换成一个数字,则返回NaN(非数字值)。
  • 空字符串和null会被转换成数字0。
  • 一元运算符“+”号,可以将变量转换成数字。
  • 布尔值可以转换为数字,true为1,false为0。
Number('3.14') // 返回 3.14
Number(' ') // 返回 0
Number(true) // 返回 1
Number(false) // 返回 0
Number('abc') // 返回 NaN
typeof( + '1') // 返回 number
Number(undefined) // 返回NaN

parseInt(): 解析一个字符串,返回一个整数。

用法:

  • 当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。
  • 当忽略参数 radix , JavaScript 默认数字的基数如下:
    • 如果 string 以 “0x” 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。
    • 如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。

语法: parseInt(string, radix),其中string是必需项,表示要被解析的字符串,radix是可选项,表示要解析的数字的基数,该值介于2~36之间。

注:

  • 只有字符串中的第一个数字会被返回。
  • 字符串首尾存在空格是允许的。
  • 如果字符串的第一个字符不能被转换成数字,那么parseInt()会返回NaN。
parseInt('123.456')    // 返回 123
parseInt('   123.456   ') // 返回 123
parseInt('123.456abc')    // 返回123
parseInt('1a.23') // 返回 1
parseInt('a123.456')  // 返回 NaN

String():将参数转换成字符串。

语法:String(参数)


toString():作用同String()方法。

语法:toString(radix),其中radix是可选项,表示以10进制为基底将其转换为目标进制(radix进制)。

注: undefined 和 null 没有toString()方法。


3. 隐式类型转换

隐式类型转换,内部使用的都是显式类型转换方法。

isNaN():先使用 Number() 方法对参数进行转换,再讲结果与 NaN 进行比较。

++/-- +/-(一元正负运算符):内部使用Number()方法。

+:加号两侧有一个是String类型,它就会调用String()方法将另一个也转换成String类型。

- * /:内部先使用Number()方法。

> < >= <=:符号两侧有一个是数字,则会转换成数字进行比较。

2>1>3  // 返回false

特殊的:

NaN == NaN // 返回false
undefined == null // 返回true

JavaScript 数据类型转换相关推荐

  1. JavaScript数据类型转换

    JavaScript数据类型转换 1 转换为字符串类型 2 转换为数字型 3 转换为布尔型 4 计算年龄案例 1 转换为字符串类型 转换为字符串型的3种常见的方式: 1.利用"+" ...

  2. JavaScript——JavaScript数据类型转换

    文章目录 数据类型转换 转换成字符串类型 转换成数值类型 转换成布尔类型 代码示例 数据类型转换 如何使用谷歌浏览器,快速的查看数据类型? 字符串的颜色是黑色的,数值类型是蓝色的,布尔类型也是蓝色的, ...

  3. Javascript数据类型转换第六课

    更多免费教学文章请关注这里 parseInt() 和Number() 的区别 parseInt() 是一个字符串一个字符串的解析 返回的是整数(不四舍五入)如果123adc 返回123 Number转 ...

  4. 【JavaScript速成之路】JavaScript数据类型转换

  5. number类型转换java_Number()数据类型转换

    Number() 如果是 Boolean 值, 和. 如果是数字值,只是简单的传入和返回. 如果是 . 如果是 undefined,返回NaN. 如果是字符串,遵循下列规则: 如果字符串中只包含数字( ...

  6. JavaScript入门(part5)--数据类型转换

    学习笔记,仅供参考,有错必纠 参考自:pink老师教案 文章目录 JavaScript入门 获取变量数据类型 数据类型转换 转换为字符串 转换为数字型 转换为布尔型 JavaScript入门 获取变量 ...

  7. 前端JavaScript(1) --Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏...

    一.Javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) Jav ...

  8. python 全栈开发,Day50(Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏)...

    一.Javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) Jav ...

  9. Javascript数据类型:变量与数据类型 数字型Number 字符串型String 布尔型Boolean Undefined和Null 检测变量typeof 数据类型转换 标识符 关键字 保留字

    数据类型 一.数据类型意义 二.变量与数据类型 三.简单数据类型 1.数字型 Number 2.字符串型 String 3.布尔型 Boolean 4.未定义数据类型 Undefined 5.空值 N ...

最新文章

  1. mac os 下 Android Studio设置真机调试
  2. android listview显示数据库内容
  3. js控制input框输入数字时,累计求和
  4. android如何使用ios14组件,ios14小组件怎么添加 苹果ios14小组件添加使用教程
  5. 网络流媒体协议之——RTSP协议
  6. nssl1304-最大正方形【二分答案】
  7. 详解3D物体检测模型 SPG: Unsupervised Domain Adaptation for 3D Object Detection via Semantic Point Generation
  8. win10+vscode部署java开发环境
  9. Nginx日志分割处理
  10. python:类5——Python 的类的下划线命名有什么不同?
  11. Linux命令-网络命令:ping
  12. K2P加USB口刷入Padavan
  13. 常见3DMAX插件导出模型丢失贴图问题
  14. 3dMax建筑demo制作
  15. mac ae 汉化
  16. 3904三极管是什么功能_你了解三极管的种类吗
  17. C语言程序设计预备作业
  18. 2022/03/03js作业第一个不同宽度变色第二个是输入几年几月几日判断是今年的第几天(不算闰年2月为28日)
  19. IDELAY输入延迟分析
  20. 在多个指定区间内生成随机数,且随机数总和固定算法

热门文章

  1. javascript的call()方法与apply()方法的理解
  2. Java笔记(25):设计模式概述
  3. ESP8266-iot-2
  4. Qt 学习之路:模型-视图高级技术
  5. 白领们注意啦:“过劳死”27个危险信号!
  6. Android开发中libs包下面的mips、armeabi、armeabi-v7a和x86
  7. 栈区和堆区内存分配区别
  8. ASP.NET实现身份模拟
  9. PHP中Session的使用
  10. 深入理解malloc和free