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

相关推荐
Boilermaker19928 分钟前
【Java EE】Mybatis-Plus
java·开发语言·java-ee
aramae14 分钟前
C++ -- STL -- vector
开发语言·c++·笔记·后端·visual studio
Tony小周14 分钟前
实现一个点击输入框可以弹出的数字软键盘控件 qt 5.12
开发语言·数据库·qt
lixzest34 分钟前
C++ Lambda 表达式详解
服务器·开发语言·c++·算法
sunbyte41 分钟前
50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | DoubleVerticalSlider(双垂直滑块)
前端·javascript·css·vue.js·vue
沉默媛1 小时前
如何安装python以及jupyter notebook
开发语言·python·jupyter
_Chipen1 小时前
C++基础问题
开发语言·c++
爱学习的茄子2 小时前
JavaScript事件循环深度解析:理解异步执行的本质
前端·javascript·面试
1024小神2 小时前
cocos游戏开发中多角色碰撞,物理反弹后改变方向的实现逻辑
前端·javascript
ruanhongbiao2 小时前
饿了么el-upload上传组件报错:TypeError: ***.upload.addEventListener is not a function
javascript·elementui