数据类型分类

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

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. 数据库02 /MySQL基础数据类型、完整性约束、sql_mode模式

    2.MySQL基础数据类型.完整性约束.sql_mode模式 目录 2.MySQL基础数据类型.完整性约束.sql_mode模式 1. MySQL常用数据类型 MySQL常用数据类型预览 1. 1 数 ...

  2. AcWing 93. 递归实现组合型枚举

    AcWing 93. 递归实现组合型枚举 原题链接 从 1~n 这 n 个整数中随机选出 m 个,输出所有可能的选择方案. 输入格式 两个整数 n,m ,在同一行用空格隔开. 输出格式 按照从小到大的 ...

  3. Spring用到了那些注解?

    一:@Autowired(按类型注入)1.1通过 @Autowired的使用来消除 set ,get方法.@Autowiredprivate Dao dao;这样就可以删除set ,get方法和spr ...

  4. three.js 制作属于自己的动态二维码

    今天郭先生说一下用canvas解析图片流,然后制作一个动态二维码的小案例,话不多说先上图,在线案例点击博客原文.这是郭先生的微信二维码哦! 1. 解析图片流 canvas = document.cre ...

  5. Monster Audio 使用教程(四)Wifi 远程遥控

    Android端下载二维码:(链接指向的是apk包地址,所以微信可能打不开,请用自带浏览器扫描二维码)  IOS下载二维码: 安装好上面的app,确保你的移动端设备和你电脑连接的是同一个路由器(也就是 ...

  6. vue的自定义指令。directive

    在vue中有很多vue自带的指令,比如v-heml.v-for.v-if,v-on.v-bind.v-else.v-show. 但是这些指令还不够我们使用的.就有了directive这个对象. 这个使 ...

  7. java HashMap、HashTable、ConcurrentHashMap区别

    HashTable 底层数组+链表实现,无论key还是value都不能为null,线程安全,实现线程安全的方式是在修改数据时锁住整个HashTable,效率低,ConcurrentHashMap做了相 ...

  8. Flask前后端分离项目案例

    简介 学习慕课课程,Flask前后端分离API后台接口的实现demo,前端可以接入小程序,暂时已经完成后台API基础架构,使用postman调试. git 重构部分: token校验模块 auths认 ...

  9. 完全卸载MySQL完整图文流程

    想把mlsql卸载了重装,看了许多文章试了很多方法都没办法完全卸载,直到看到了这篇文章, 可以完全卸载mysql,在这里谢谢博主,也拿出来分享给大家 原文链接:https://blog.csdn.ne ...

  10. 5.pandas新增数据列

    有的时候,表格自带的数据根本没有办法满足我们,我们经常会新加一列数据或者对原有的数据进行修改 还是接着上篇文章的数据进行操作 直接赋值 我想算一下每一天的温差 df.loc[:, 'wencha'] ...