【JavaScript】数据类型和运算符

目录

一、数据类型

[1.1 JS常用数据类型](#1.1 JS常用数据类型)

[1.2 JS中使用var声明变量特点](#1.2 JS中使用var声明变量特点)

二、运算符

[2.1 算术: + - * / %](#2.1 算术: + - * / %)

[2.2 复合算术:++ -- += -= *= /= %=](#2.2 复合算术:++ -- += -= *= /= %=)

[2.3 关系: > < >= <= != == ===](#2.3 关系: > < >= <= != == ===)

[2.4 逻辑: 短路||或 短路与&& 非!](#2.4 逻辑: 短路||或 短路与&& 非!)

[2.5 条件: 表达式? 值1:值2](#2.5 条件: 表达式? 值1:值2)

[2.6 位:按位& 按位或| 按位异或^ 左移<< 右移>> 无符号右移>>>](#2.6 位:按位& 按位或| 按位异或^ 左移<< 右移>> 无符号右移>>>)


一、数据类型

JS是弱类型的语言,在声明变量时不需要指定数据类型,变量的数据类型在给其赋值时确定;JS声明变量统统使用var。如:var a=20; var str="hello"。

1.1 JS常用数据类型

数值类型: number 包括整数和小数

字符串类型: string

布尔类型: boolean

引用类型: object

function类型: function

变量声明未赋值:undefined

变量赋null值: object类型,值为null

说明:

1、使用typeof运算符来判断变量数据类型

2、使用console.log()在浏览器控制台输出值

1.2 JS中使用var声明变量特点

  • var可以声明弱类型变量
  • var声明过的变量支持再次被声明
  • 变量可以使用不同的数据类型多次赋值
  • JS语句可以以";"结尾也可以不用";"结尾
  • 变量标识符严格区分大小写
  • 标识符的命名规则参照Java
  • 如果使用未声明的变量会报"*** is not defined at ***"
  • 变量只声明不赋值,那么值为undefined。

二、运算符

2.1 算术: + - * / %

除零值为Infinity,不管操作数是整数还是小数除的结果值都和数学计算的值一样。

模零值为NaN即not a number;求模的操作数可以是小数,模值的正负由第一个操作数决定。

2.2 复合算术:++ -- += -= *= /= %=

在人工计算复合运算符的值时,只需将操作数中间的等号去掉,在求结果。

2.3 关系: > < >= <= != == ===

== 如果两端的操作数的数据类型不一致会将两端的数据都转化为number类型后在进行比较。

例如转化: '123'---->123、true--->1、 false--->0

=== 两端的操作数数据类型不一致直接返回false,数据类型相同才会进行比较

2.4 逻辑: 短路||或 短路与&& 非!

2.5 条件: 表达式? 值1:值2

2.6 位:按位& 按位或| 按位异或^ 左移<< 右移>> 无符号右移>>>

@声明:"山月润无声"博主知识水平有限,以上文章如有不妥之处,欢迎广大IT爱好者指正,小弟定当虚心受教!

相关推荐
知识分享小能手3 小时前
Vue3 学习教程,从入门到精通,Axios 在 Vue 3 中的使用指南(37)
前端·javascript·vue.js·学习·typescript·vue·vue3
七七&5566 小时前
2024年08月13日 Go生态洞察:Go 1.23 发布与全面深度解读
开发语言·网络·golang
java坤坤6 小时前
GoLand 项目从 0 到 1:第八天 ——GORM 命名策略陷阱与 Go 项目启动慢问题攻坚
开发语言·后端·golang
元清加油6 小时前
【Golang】:函数和包
服务器·开发语言·网络·后端·网络协议·golang
健康平安的活着7 小时前
java之 junit4单元测试Mockito的使用
java·开发语言·单元测试
烛阴7 小时前
精简之道:TypeScript 参数属性 (Parameter Properties) 详解
前端·javascript·typescript
DjangoJason8 小时前
C++ 仿RabbitMQ实现消息队列项目
开发语言·c++·rabbitmq
m0_480502648 小时前
Rust 入门 KV存储HashMap (十七)
java·开发语言·rust
大阳1238 小时前
线程(基本概念和相关命令)
开发语言·数据结构·经验分享·算法·线程·学习经验
YA3339 小时前
java基础(九)sql基础及索引
java·开发语言·sql