【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 分钟前
JavaScript 数组详解:从入门到精通
javascript
言兴4 分钟前
教你如何理解useContext加上useReducer
前端·javascript·面试
惜.己6 分钟前
使用python的读取xml文件,简单的处理成元组数组
xml·开发语言·python·测试工具
sunbyte8 分钟前
50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | GoodCheapFast(Good - Cheap - Fast三选二开关)
前端·javascript·css·vue.js·tailwindcss
南篱16 分钟前
JavaScript 中的 this 关键字:从迷惑到精通
javascript
apihz29 分钟前
域名WHOIS信息查询免费API使用指南
android·开发语言·数据库·网络协议·tcp/ip
coding随想43 分钟前
掌控网页的魔法之书:JavaScript DOM的奇幻之旅
开发语言·javascript·ecmascript
爱吃烤鸡翅的酸菜鱼1 小时前
IDEA高效开发:Database Navigator插件安装与核心使用指南
java·开发语言·数据库·编辑器·intellij-idea·database
然我1 小时前
不用 Redux 也能全局状态管理?看我用 useReducer+Context 搞个 Todo 应用
前端·javascript·react.js
前端小巷子1 小时前
Web 实时通信:从短轮询到 WebSocket
前端·javascript·面试