数据类型分类

原始类型(基本类型、值类型)

1、number 类型

数字类型,表示32(4字节)的整数以及64位(8字节)的浮点数
整数
 bit:位
8bit=1byte
1024byte=1kb千字节

demo

1、十进制:var num=457; 10 457 6695
2、八进制:由0-7共8个数字组成,缝八进一
在JS中以0开始的,都是八进制数字
3、十六进制
由0-9,a-f组成缝16进去一
在JS中,数字以0x开始的,都是十六进制数字

2、string 类型

字符串类型
需要使用"" ''括起来
由Unicode字符,数字,标点组成
每个字符都有一个Unicode码
将字符转换为Unicode码:"张".charCodeAt().tostring(16)
将Unicode转换为字符:var s="\u5f20";
中文的范围是从"\u4e00"~"\u9fa5"
转义字符:
控制台中打印输出“hello world”
在JS中,表示一些特殊的符号或者功能
\n换行
\t:一个制表符
 

3、boolean 类型

有两个值:true和false
Boolean和number在进行运算时,true当做1,false当做0;
4、null 空
让对象不再指向任何空间
5、undefined 未定义
出现场合:
1、声明变量但从未赋值时
2、试图访问对象中不存在的属性
3、查看变量的数据类型
var result =typeof;

2、数据类型的转换

1、隐转换

在某些操作中,变量的数据类型会自动的产生转换操作
数字+字符串:数字转换为字符串;
数字+布尔值:将布尔值转换为数字;
字符串+布尔值:将布尔值转换为字符串;
布尔值+布尔值:将布尔值转换为数字;

2、转换函数

1、tostring()
将任意类型的数据转换为字符串
语法:var result=变量.tostring()
2、parseInt()
将任意类型的数据转换为“整数”
语法:var result=parselnt(转换的数据);
parselnt()把能转的部分都转点,实在转不了的,返回一个NaN(Not a Number)
var result=parselnt("35");
3、parseFloat()
将任意类型的数据转换为“小数”
var result =parseFloat("35.3");结果:35.3
var result =parseFloat("安不上35.3");结果:NaN
4、number()
将任意类型的数据转换为number类型
只要包含非法字符,结果就是NaN
语法:var result=number("35.3");结果就是35.3
 
    // 简单计算器加法练习
    var num1 = parseFloat(prompt("请输入第一个数字"));
    var num2 = parseFloat(prompt("请输入第二个数字"));
    var result = num1 + num2;
    alert("结果是:" + result)
    var num3 = prompt("请输入您的姓名");
    var num4 = prompt("请输入您的性别");
    var num5 = parseFloat(prompt("请输入您的年龄"));
    alert("您的姓名是:" + num3 + "\n" + "您的性别是:" + num4 + "\n" + "您的年龄是:" + num5)
弹出输入框:
var input=window.prompt("请输入一个数字2");

3、运算符 和表达式

1、表达式
每个表达式一定会有一个结果
2、运算符
1、算数运算符
+,-,*,/,++,--
%:取余数
5%2:结果 1
2%5:结果 2
 
2、++,--只在自己的基础上做加一或者减一
var num=10;
console.log(num++);
console.log(++num);
console.log(num);
++在前,先自增,再使用
++在后,先使用,再自增

3、注意

1、“+”两边的操作如果不是number类型的话,则做链接操作
除+以外的其他算数运算符,如果两边的操作数不是number会通过number()函数,默认进行转换,
如果转换不成功,最终的结果就是NaN
change.toFixed(2);将change保留两位小数
2、关系运算符
1、做两个数据之间的大小,相等或者不等关系的判断的
关系运算符的运算结果,一定是Boolean类型的
>,<,>=,<=,==,===,!=,!==
注意
运算符两边,如果两边的操作数不是number会通过number()函数,默认进行转换,
如果转换不成功,最终的结果就是false
如果运算符两边都是字符串的话,比较每位字符的Unicode码大小
isNaN()
NaN
在参与算数运算时,结果一定是NaN
在参与比较运算时,结果一定是false
isNaN判断变量是否为非数字,如果为true不是数字,如果值为false,是数字
3、逻辑运算符
条件的关联以及条件的取反操作
&&与,||或,!非
短路逻辑
1、短路&&
条件&&操作,如果条件为true,则执行后面的操作,如果条件为false,则不执行后面的操作

JS笔记 数据类型分类以及转换的更多相关文章

  1. js基本数据类型之间的转换

    常见五大基本数据类型 1.number 2.string 3.boolean 4.undefined 5.null 一.转换为string ①调用toString() 方法 因为null和undefi ...

  2. js中的数据类型隐式转换的三种情况

    js的数据类型隐式转换主要分为三种情况: 1. 转换为boolean类型 2. 转换为number类型 3. 转换为string类型 转换为boolean类型 数据在 逻辑判断 和 逻辑运算 之中会隐 ...

  3. js 六种数据类型的区别及bool 转换判断

    一.bool型转换判断: 1.true 和 1 比较是相同,false 和 0 比较是相同(是 “==” 比较),因为内部会实现数据类型的 转化,将true 转换成1,将false 转换成0, js ...

  4. js数据类型隐式转换问题

    js数据类型隐式转换 ![] == false //true 空数组和基本类型转换,会先[].toString() 再继续比较 ![] == [] //true ![] //false [] == [ ...

  5. JS学习笔记-数据类型

    最初的JS学习已经过去大半年的时间了,至此感觉对JS的使用与理解并非非常深入,因此在近期的工作之余也開始了新一轮的JS学习. 几天时间过去了,对于一些基础内容的学习还是非常有必要的,就从今天的又一次整 ...

  6. JavaScript学习笔记——数据类型强制转换和隐式转换

    javascript数据类型强制转换 一.转换为数值类型 Number(参数) 把任何的类型转换为数值类型 A.如果是布尔值,false为0,true为1 B.如果是数字,转换成为本身.将无意义的后导 ...

  7. JavaScript笔记1———js的数据类型

    JS的数据类型有: 1.数值类型(Number):js中所有数字均用浮点数字表示. 可以表示32位(即4字节)的整数,也可以表示64位(即8字节)的浮点数(小数). 也可以用二进制.八进制.十进制.十 ...

  8. JS基础-数据类型-运算符和表达式-变量和常量

    1.js的基础语法2.js调试 1.F12调出控制台,查看提示错误及其位置. 2.出错时只影响当前代码块,不会影响其他代码块,后续代码块继续执行.3.语法规范 1.js语句:可执行的最小单元 必须以 ...

  9. JS基本数据类型和引用数据类型的区别及深浅拷贝

    前言 首先我们先来了解一下什么叫栈堆,基本数据类型与引用数据类型 1.栈(stack)和堆(heap)stack为自动分配的内存空间,它由系统自动释放:而heap则是动态分配的内存,大小也不一定会自动 ...

随机推荐

  1. 如果你每次面试前都要去背一篇Spring中Bean的生命周期,请看完这篇文章

    前言 当你准备去复习Spring中Bean的生命周期的时候,这个时候你开始上网找资料,很大概率会看到下面这张图: 先不论这张图上是否全面,但是就说这张图吧,你是不是背了又忘,忘了又背? 究其原因在于, ...

  2. Redis 6.0 新特性 ACL 介绍

    Redis 6.0 新特性 ACL 介绍 Intro 在 Redis 6.0 中引入了 ACL(Access Control List) 的支持,在此前的版本中 Redis 中是没有用户的概念的,其实 ...

  3. 学完自动化测试,用小技能做了点兼职刷弹幕,小赚10W

    大家好,今天又给大家带来了Python爬虫的分享,继续来研究一下虎牙平台的爬虫. 起因 我冒出有一个很有趣的想法,就是,我们可以使用selenium来完成虎牙自动化登录,并且自动给主播发送弹幕功能的程 ...

  4. 基于python实现查询ip地址来源

    接口调用方法是在url后面直接加上IP地址. url = 'http://freeapi.ipip.net/218.192.3.42' #中文免费 url2 = 'http://ip-api.com/ ...

  5. Python 编程语言的核心是什么?

    01 Python 编程语言的核心是什么? ​   为什么要问这个问题? 我想要用Python实现WebAssembly,这并不是什么秘密.这不仅可以让Python进入浏览器,而且由于iOS和Andr ...

  6. SpringBoot + Spring Cloud Consul 服务注册和发现

    什么是Consul Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其它分布式服务注册与发现的方案,Consul 的方案更"一站式" ...

  7. Monster Audio 使用教程 (五) 添加区域效果器

    我们可以在音轨上,某一个时间区域内,添加一组效果器,这组效果器,只有在播放指针进入它的区域时,效果器才可以处理声音 首先,先在时间刻度上,设定好时间范围 然后,在音轨的波形区域点击右键,然后点击[添加 ...

  8. nginx配置多个图片访问路径

    需求:vue项目打包的时候 会将项目中的一些图片打包到/dist/static/images下,但是有时候会有一些很大的图片,需要单独存放至别的文件夹比如/home/di-img下,不能被打倒包内.部 ...

  9. Redis(二)Jedis操作Redis

    如果测试连接的时候,报下面这个异常,可以参考下面的博客进行处理: Exception in thread "main" redis.clients.jedis.exceptions ...

  10. https://blog.csdn.net/yongchaocsdn/article/details/53355296

    https://blog.csdn.net/yongchaocsdn/article/details/53355296