JavaScript - (数据类型 和 运算符)

数据类型

在计算机中,不同的数据所占的存储空间是不同的,为了便于把数据分成所需内存空间大小不同的数据,充分利用存储空间,于是定义了不同的数据类型

变量的数据类型

变量是用来存储值的所在处,他们有名字和数据类型。

  • JavaScript是一种弱类型或者说动态语言。这意味着不用提前声明变量的数据类型,再程序运行过程中,类型会被自动确定
  • 在JS中变量的数据类型是可变的

数据类型的分类

JS把数据类型分为两类

  • 简单数据类型(Number,String,Boolean,Undefined,Null)
  • 复杂数据类型(object)
简单数据类型说明默认值
Number数字型,包含整型值和浮点型值0
Boolean布尔值类型,如true、false,等价于1和0false
String字符串类型,在js中,字符串都带引号“”
Undefinedvar a;声明变量却没赋值,此时a = Undefinedundefined
Null声明变量为空值null

数字型 Number

1.数字型进制
最常见的进制有二进制,八进制,十进制,十六进制
在JS中八进制的前面加0,十六进制前面加0x
2.数字范围

  console.log(Number.MAX_VALUE); //最大值
  console.log(Number.MIN_VALUE); //最小值

在这里插入图片描述
3.数字型三个特殊值

  • Infinity 代表无穷大,大于任何值 可以通过最大值乘以一个大于1的数拿到的就是无穷大
  • -Infinity 代表无穷小,小于任何值 通过负的最大值乘以一个大于1的数拿到的就是无穷小
  • NaN Not a nymber ,代表一个非数值 可以通过isNaN()来判断传入的值是否是数字型,返回值是Boolean类型,是返回fasle,不是返回true

字符串型 String

字符串类型可以是引号中的任意文本,其语法为双引号“ ”单引号‘ ’
因为HTML标签里面的属性使用双引号,JS中更建议使用单引号

1.如果字符串中还要求有引号,可以采用外双内单或外单内双

var speak1 = '你讲话真"直白"';
var speak2 = "你讲话真'直白'";

在这里插入图片描述

2.字符串转义字符

转义符解释说明
\n换行符
\斜杠
单引号
"双引号
\ttab缩进
\b空格 b是blank的意思

3.字符串长度
字符串是由若干字符组成的,这些字符的数量就是字符串的长度,通过字符串的length属性可以获取整个字符串的长度。

 <script>
        var speak1 = '开始吧,1,2 3,4';
        alert(speak1.length);//11 空格也算
    </script>

4.字符串拼接
多个字符串之间可以使用+进行拼接,其拼接方式为: 字符串 + 任何类型 = 拼接后的新字符串
拼接前会把与字符串相加的任何类型转成字符串,再拼接成一个新的字符串

<script>
        console.log('12'+12); //1212
        console.log('明天'+"快乐"); //明天快乐
        console.log(12+12);//24
    </script>

布尔型 boolean

布尔类型只有2个值:true和false
在加法运算中true相当于1,false相当于0

  <script>
        var flag1 = true;
        var flag2 = false;
        console.log(flag1 + 1);//2
        console.log(flag1);//true
        console.log(flag2 + 1);//1
        console.log(flag2);//false
    </script>

undefined 和Null

如果一个变量声明未赋值,就是undefined(未定义的数据类型)

var value = undefined;
console.log(undefined+'肯');//undefined肯
console.log(undefined+2); //NaN

null空值

var space = null;
console.log(space+'肯');//null肯
console.log(space+2);//2
console.log(true+space);//1
console.log(false+space);//0

获取检测变量的数据类型

利用 typeof

typeof 变量名

注意:
用prompt获取的值是一个字符串类型的数据

一些浏览器的控制台会对不同数据类型有不同的颜色表示

数据类型转换

转换为字符串

方式说明案例
toString()转成字符串var num =1; alert(num.toString());
String()强制转换转成字符串var num =1; alert(String(num));
加号拼接字符串和字符串拼接的结果都是字符串var num =1; alert(num + "字符串");

转换为数字型

方式说明案例
parseInt(string)将string类型转换成整数数值型parseInt('78);
parseFloat(string)将string类型转换成浮点数数值型parseFloat('78.89')
Number()强制转换,将string类型转换成数值型Number("12")
js隐式转换(- * /)利用算数运算隐式转换为数值型’12‘-0

转换成布尔型

Boolean()
  • 代表空、否定的值会被转换成flase ,如' '、0、NaN、null、undefined
  • 其余值会被转换为true

运算符

运算符(operator)也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号
JavaScript中常用的运算符有:

  • 算数运算符
  • 递增和递减运算符
  • 比较运算符
  • 逻辑运算符
  • 赋值运算符

算数运算符

概述:算数运算使用的符号,用于执行两个变量活值的算数运算
运算符:+,-,*,/,%
描述:加减乘除取模

由于浮点数值的最高精度是17位小数,但在进行算术计算时其精确度远远不如整数

 <script>
        console.log(0.07 * 100);//7.000000000000001
        var number = 0.1 + 0.2;
        console.log(number == 0.3); //false
    </script>

所以不要直接判断两个浮点数是否相等
(注意在输入的时候,运算符左右需要空格)

递增和递减运算符

前置递增(减)和后置递增(减)

区别:

  • 前置则先完成运算后赋值
  • 后置则先完成赋值后运算
    二者虽然都进行了运算,但在赋值时要注意使用

比较运算符

概念

比较运算符(关系运算符)是两个数据进行比较时所使用的运算符,比较运算后,会返回一个布尔值(true/false)作为运算符的结果

概览

运算符名称说明案例结果
<小于号1<2true
>大于号1>2false
>=大于等于号(大于或等于)2 >= 2true
<=小于等于号(小于或等于)3 <= 2false
==判等号(会转型)37 == ‘37’true
!=不等号37 != 37false
===全等 要求值和数据类型都一致37 === ‘37’false
!==不全等,值或数据类型不一致37 !== ‘37’true

逻辑运算符

概念:

逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值。后面开发中经常用于多个条件的判断

概览

逻辑运算符说明案例
&&“逻辑与”,简称 “与” andtrue&&false
“逻辑或”,简称“或” ortrue false
!“逻辑非”,简称 “非” not! true

由于编辑器问题,逻辑或是|| ,其案例是true||false

赋值运算符

概念:
用来把数值赋值给变量的运算符

赋值运算符说明案例
=直接赋值var usrName = ‘值’ ;
+=、-=加、减一个数后再赋值var age =10; age+=5; //age =15
*=、/=、%=乘、除、取模后再赋值var age =2; age *= 5; //age=10

运算符的优先级

优先级运算符顺序
1小括号()
2一元运算符++ – !
3算数运算符先* / %后+ -
4关系运算符> >= < <=
5相等运算符== != === !==
6逻辑运算符先&& 后 “或”
7赋值运算符=
8逗号运算符,
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值