数据类型分类

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

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. 数据可视化之DAX篇(五) 使用PowerBI的这两个函数,灵活计算各种占比

    https://zhuanlan.zhihu.com/p/57861350 计算个体占总体的比例是一个很常见的分析方式,它很简单,就是两个数字相除,但是当需要计算的维度.总体的范围发生动态变化时,如何 ...

  2. Lua-源码-字符串的resize函数-luaS_resize

    // 这里需要问一下:upval和一般的对象有什么区别?为什么要单独一个函数来处理? void luaC_linkupval (lua_State *L, UpVal *uv) { global_St ...

  3. 微信小程序随手笔记

    1.全局导入vant时build后有问题(只能页面引入) 2.微信小程序只能用:https开头,在微信公众号里还要修改下配置 3.微信小程序里textarea与vant的van-popup有问题,手机 ...

  4. bzoj1745[Usaco2005 oct]Flying Right 飞行航班*

    bzoj1745[Usaco2005 oct]Flying Right 飞行航班 题意: n个农场,有k群牛要从一个农场到另一个农场(每群由一只或几只奶牛组成)飞机白天从农场1到农场n,晚上从农场n到 ...

  5. Event-Driven Architecture思考

    什么是Event? An event represents a fact, something happened; and it is immutab. 事件代表着事实,代表着过去发生的某件事情,是不 ...

  6. python学习03-使用动态ua

    在写爬虫的时候要使用到浏览器ua 分享一下今天学到的如何使用动态ua的进行爬取 1.简单的爬取网页信息 from urllib.request import urlopen #目标地址 url = & ...

  7. 抛出这8个问题,检验一下你到底会不会ThreadLocal,来摸个底~

    0.问题 和Synchronized的区别 存储在jvm的哪个区域 真的只是当前线程可见吗 会导致内存泄漏么 为什么用Entry数组而不是Entry对象 你学习的开源框架哪些用到了ThreadLoca ...

  8. 前端css 同级元素 设置不同样式 :first-child :nth-child() 的操作收藏

    说明:最近在写前端vue  调样式的时候遇到了一个问题 同一个div下对多个同级别的<span>标签进行 边距设置 <div class="shuju-div"& ...

  9. Cypress系列(41)- Cypress 的测试报告

    如果想从头学起Cypress,可以看下面的系列文章哦 https://www.cnblogs.com/poloyy/category/1768839.html 注意 51 testting 有一篇文章 ...

  10. IO流——转换流、缓冲流

    一.转换流 1. OutputStreamWriter类 属于字符输出流,OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的字符编码表,将要写入流中的字符编码成字节. 它的作 ...