数据类型分类

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

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并发-synchronized关键字和锁

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

  2. python处理json总结

    一.首先,了解下什么是JSON? JSON:JavaScript Object Notation [JavaScript 对象表示法] JSON 是一种轻量级的数据交换格式,完全独立于任何程序语言的文 ...

  3. 网易实战分享|云信IM SDK接口设计实践

    引语 IM (Instant Messaging)是网络上最流行的通信方式,与日常生活息息相关.IM软件也层出不穷,例如:微信.QQ.易信等.通过多年深耕和技术沉淀,云信产出了一套成熟稳定的IM SD ...

  4. JavaWeb基础(day15)( http + tomcat + servlet + 响应)

    HTTP+Tomcat+Servlet+响应 HTTP HTTP  超文本传输协议(Hyper Text  Transfer  Protocol  ),一种网络协议. 协议的组成和过程 HTTP协议由 ...

  5. 动手实现一个简单的 rpc 框架到入门 grpc (下)

    之前手动实现了一次简陋的 rpc 调用,为了简单使用了 json 编码信息,其实这是非常不可靠的,go 中 json 解析会有一些问题,比如整数会变成浮点数,而且 json 字符串比较占空间. gRP ...

  6. 题解 洛谷 P2280 【[HNOI2003]激光炸弹】

    这道题因为要求价值最大值,所以正方形应尽可能多覆盖目标,因此所得的正方形四个顶点一定在格点上. 经过分析后,我们就可以知道,该题做法就是用二维前缀和进行事前预处理,然后一个一个枚举每个点覆盖到的总价值 ...

  7. blog only to u

    2020/7/16 属于我的第一个博客正式上线,以后我将在此更新我的笔记和我的知识积累还有我那阔爱的小仙女!

  8. 统计M

    链接:https://vjudge.net/problem/UVA-1586 题意:给出一分子化学式,包含C,N,O,H四种元素,求M 题解:这是字符串题.分为几种情况:第一种是一个原子:第二种是多原 ...

  9. springmvc的原理与流程

    springMVC中的几个组件: 前端控制器(DispatcherServlet):接收请求,响应结果,相当于电脑的CPU. 处理器映射器(HandlerMapping):根据URL去查找处理器 处理 ...

  10. Numpy数组排序

    import numpy as np x = np.array([1,4,5,2]) # array([1, 4, 5, 2]) # 返回排序后元素的原下标 np.argsort(x) # array ...