【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爱好者指正,小弟定当虚心受教!

相关推荐
Mr_Xuhhh1 小时前
YAML相关
开发语言·python
咖啡の猫1 小时前
Python中的变量与数据类型
开发语言·python
前端达人1 小时前
你的App消息推送为什么石沉大海?看Service Worker源码我终于懂了
java·开发语言
汤姆yu2 小时前
基于springboot的电子政务服务管理系统
开发语言·python
云中飞鸿2 小时前
函数:委托
javascript
全栈师2 小时前
C#中控制权限的逻辑写法
开发语言·c#
S***q1922 小时前
Rust在系统工具中的内存安全给代码上了三道保险锁。但正是这种“编译期的严苛”,换来了运行时的安心。比如这段代码:
开发语言·后端·rust
打点计时器2 小时前
matlab 解决wfdb工具使用本地数据集报错
开发语言·matlab
zmzb01032 小时前
C++课后习题训练记录Day38
开发语言·c++
夏霞2 小时前
c# 使用vs code 创建.net8.0以及.net6.0 webApi项目的教程
开发语言·c#·.net