1.数据类型

1.1 为什么需要数据类型

在计算机,不同的数据所占的存储空间是不同的,为了便于把数据分成所需内存大小不同的数据,充分利用存储空间,于是定义了不同的数据类型。

1.2 变量的数据类型

JavaScript是一种弱类型或者说动态语言,这意味着不用提前声明变量的数据类型,在程序运行的过程中,类型会被自动确定。(js的变量类型是只有在程序在运行过程中,根据等号右边的值的数据类型来确定的)

var age = 10; //这是一个数字型
var myName = 'lili'; //这是一个字符串类型数据

1.3 数据类型分类

JS把数据类型分为两类:

简单数据类型(Number,String,Boolean,Undefined,Null)复杂数据类型(object)

2. 简单数据类型(基本数据类型)

JavaScript中的简单数据类型及其说明如下:

简单数据类型 说明 默认值
Number 数字型,包含数值型和浮点型,如 20, 0.12 0
Boolean 布尔型,如true、false等价于1和0 false
String 字符串类型,字符串带引号 " "
Undefined var a;声明了变量a但是没有给值,此时a=undefined undefined
Null var a = null;声明了变量为空值 null

2.1 数字型Number

1. 数字型进制

常见进制二进制、八进制、十进制、十六进制

八进制数字序列范围:0~7 以0开头

十六进制数字序列范围:0~9及A~F 以0x开头

2.数字型范围

JavaScript中数值的最大和最小值

alert(Number.MAX_VALUE); //1.7976931348623157e 308
alert(Number.MIN_VALUE); //5e-324 
  • infinity,代表无穷大,大于任何数据
  • -infinity,代表无穷小,小于任何数据
  • NaN,Not a number,代表一个非数值

isNaN() 这个方法用来判断非数字,并且返回一个值,如果是数字,则返回是false,如果不是数字,则返回true。

2.2 字符串型 String

1.字符串转义符

转义符都是以 \ 开头的,常用的转义符及其说明如下:

转义符解释说明\n

换行符 newline的意思

转义符 解释说明
\n

换行符 newline的意思

\\ 斜杠\
\' ' 单引号
\" " 双引号
\t tab 缩进
\b 空格,b是blank

2.字符串长度

通过字符串的 length 属性可以获取整个字符串的长度

var myname = 'my name is andy';
console.log(myname.length);

2.3 布尔型 Boolean

布尔值有两个值:true和false,其中true表示真,而false表示假

布尔值和数字型相加时,true的值为1,false的值为0.

console.log(true   1);  //2
console.log(false   1); //1

3.数据类型转换

3.1转换为字符串

方式 说明 案例
toString() 转成字符串

var num = 1;

alert(num.toString());

String()强制转换 转成字符串

var num = 1;

alert(String(num));

加号拼接字符串 和字符串拼接的结果都是字符串

var num = 1;

alert(num "我是字符串");

3.2 转换为数字型

方式 说明 案例
parseInt(string)函数 将string类型转换为整数数值型 parseInt('18')
parseFloat(string)函数 将string类型转换为浮点数数值型 parseFloat('18.88')
Number()强制转换函数 将string类型转换为数值型 Number('18')
js隐式转换(- * /) 利用算数隐式转换为数值型 '14'-0
number() // 转换为数字型
number(‘10') // 10
number(‘abc') // NaN
number(true) // 1
number(false) // 0
number(null) // 0
number(undefined) // NaN
parseInt() // 转为数字,向下取整
 //从被转换的数据中,从前往后获取整数,找到一个就不会再找了,只找整数开头的
 代码:
parseInt(‘12.345') // 12
parseInt(‘12abc') // 12
parseInt(‘abc12') // NaN
parseInt(true) // NaN
parseInt(false) // NaN
parseInt(undefined) // NaN
parseInt(null) // NaN
注:这些字符必须带有数字且数字开头,不然全是NaN
parseFloat() // 转为数字,整数,小数
 代码:
parseFloat(‘12.345') // 12.345
parseFloat(‘12.345abc') // 12.345
parseFloat(‘abc12.345') // NaN
parseFloate(true) // NaN
parseFloat(false) // NaN
parseFloat(undefined) // NaN
parseFloat(null) // NaN
注:这些字符必须带有数字且数字开头,不然全是NaN

隐式转换

1.当 左右两边有一个是字符串的时候,另一个也会悄悄转成字符串,进行拼接

2.数学运算符号会将左右两边都转成数字进行算数运算 - 当左右两边有一个是字符串的时候, 号就会拼接,当左右两边没有一个字符串, 也可以将左右两边转成数字

3.当比较运算符左右两边有一个是数字的话,另一个也会悄悄转成数字进行大小比较

3.3 转换为布尔型

代表空、否定的值会被转换为false,如''、0、NaN、null、undefined其余的值被转换为true字符串转布尔类型,空字符串是false,其他都是true

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注Devmax的更多内容!

javascript基础之数据类型详解的更多相关文章

  1. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  2. HTML5数字输入仅接受整数的实现代码

    这篇文章主要介绍了HTML5数字输入仅接受整数的实现代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  3. amaze ui 的使用详细教程

    这篇文章主要介绍了amaze ui 的使用详细教程,本文通过多种方法给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  4. html5简介_动力节点Java学院整理

    这篇文章主要介绍了html5简介,用于指定构建网页的元素,这些元素中的大多数都用于描述网页内容,有兴趣的可以了解一下

  5. ios 8 Homescreen webapp,关闭和打开iPad停止javascript

    我有一个适用于iPad的全屏HTML5网络应用程序,并且刚刚安装了IOS8来试用它,它一切正常,直到你关闭并重新启动iPad.一旦web应用程序重新启动javascript就会停止并加载新页面不会重新启动它.在iPad上的Safari中打开同一页面时,关闭和打开iPad会继续按预期工作.其他人注意到了这个或想出了一个解决方案吗?解决方法这似乎是我在iOS8.1.1更新中解决的.

  6. iOS 6 javascript与object.defineProperty的间歇性问题

    当访问使用较新的Object.defineProperty语法定义属性的对象的属性时,有没有其他人注意到新iOS6javascript引擎中的间歇性错误/问题?https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/defineProperty我正在看到javascript失败的情况,说

  7. ios – 如何使用JSExport导出内部类的方法

    解决方法似乎没有办法将内部类函数导出到javascript.我将内部类移出并创建了独立的类,它起作用了.

  8. 静音iOS推送通知与React Native应用程序在后台

    我有一个ReactNative应用程序,我试图获得一个发送到JavaScript处理程序的静默iOS推送通知.我看到的行为是AppDelegate中的didReceiveRemoteNotification函数被调用,但是我的JavaScript中的处理程序不会被调用,除非应用程序在前台,或者最近才被关闭.我很困惑的事情显然是应用程序正在被唤醒,并且它的didReceiveRemoteNotifi

  9. ios – 内存泄漏与UIWebView和Javascript

    清楚地包含一个Javascript文件到我的HTML是使UIWebView泄漏内存.当我重复使用相同的UIWebView对象时,或者每当我有内容实例化一个新的漏洞时,会出现泄漏的事实,导致我认为必须有一些JavaScript文件被loadHTMLString处理,导致泄漏.有人知道如何解决这个问题吗?

  10. iOS应用程序的UI自动化测试如何与乐器和Javascript

    从WWDC2010视频会议中了解iOS应用程序的自动化UI测试,但没有实践.从代码项目project,我们可以有一个例子.这个问题在这里听到有涉及这个的人.任何限制?解决方法我建议从AlexWollmer开始使用thisblogpost.他创建了一个非常有用的JavaScript库:tuneup_jswithtest()函数,它允许测试分离和有用的帮助者以及为自动化仪器编写测试的断言.

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部