数据类型分类

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

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. java 基本语法(十六)Lambda (三)函数式接口

    方法引用1.理解:方法引用可以看做是Lambda表达式深层次的表达.换句话说,方法引用就是Lambda表达式,也就是函数式接口的一个实例,通过方法的名字来指向一个方法. 2.使用情境:当要传递给Lam ...

  2. java 数据结构(二):java常用类 二 StringBuffer、StringBuilder

    1.String.StringBuffer.StringBuilder三者的对比String:不可变的字符序列:底层使用char[]存储StringBuffer:可变的字符序列:线程安全的,效率低:底 ...

  3. 数据可视化之powerBI基础(五)深入了解Power BI的跨页钻取交互

    https://zhuanlan.zhihu.com/p/79036123 在 PowerBI 中还有一种有趣的交互方式:跨页钻取.它可以通过点击某个数据点,钻取到另一个页面,进一步展示该数据点的详细 ...

  4. Python之爬虫(七)正则的基本使用

    什么是正则表达式 正则表达式是对字符串操作的一种逻辑公式,就是 事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符”,这个“规则字符” 来表达对字符的一种过滤逻辑. 正则并不是pyth ...

  5. 精通java并发-synchronized关键字和锁

    目前CSDN,博客园,简书同步发表中,更多精彩欢迎访问我的gitee pages synchronized关键字和锁 示例代码 public class MyThreadTest2 { public ...

  6. 入门大数据---Hive计算引擎Tez简介和使用

    一.前言 Hive默认计算引擎时MR,为了提高计算速度,我们可以改为Tez引擎.至于为什么提高了计算速度,可以参考下图: 用Hive直接编写MR程序,假设有四个有依赖关系的MR作业,上图中,绿色是Re ...

  7. ssh配置、vscode使用及常用扩展

    1.ssh配置 1.1 进入命令行 win + r  > cmd 1.2 输入如下代码直接回车即可生成ssh  ssh-keygen -t rsa -C "xxx@qq.com&quo ...

  8. 高效C++:定制new和delete

    内存的申请和释放,C++从语言级别提供了new和delete关键字,因此需要了解和熟悉其中的过程. 了解new-handler的行为 set_new_handler可以指定一个函数,当申请内存失败时调 ...

  9. Java中static、final和static final(final static)的区别(转)

    大佬的总结(大赞!) final可以修饰:属性,方法,类,局部变量(方法中的变量) final修饰的属性的初始化可以在编译期,也可以在运行期,初始化后不能被改变. final修饰的属性跟具体对象有关, ...

  10. Html笔试复习

    掌握学习技巧,提高学习质量 学习目标:熟练掌握Html笔试复习题 已掌握目标:Html笔试复习题掌握95% 未完成目标:个别题因粗心造成错误,因选项意思不懂出错 解决方案:了解原因,因错出方案,充分利 ...