JavaScript 02 数据类型和运算符&&数组&&对象

2.1 数据类型和运算符快速浏览


虽然我们 JavaScript 非常的智能和随意,直接 var 一个变量就可以进行 存储,修改呀,等一系列操作。但是 真的 没有数据类型吗 ? ------------ 其实只是我们没看到而已!!

  1. number(数值类型 不区分所谓的小数和整数)

123 // 整数

123.1 // 浮点数

1.123e3 // 科学计数法

-99 // 负数
NAN // not a number 不是一个数字
Intifiny // 表示无穷大的

  1. String(字符串类型 不区分什么字符 都是字符串)

'abc' "abc"

'\n'

  1. boolean(布尔值 只有 true 和 false)

  1. 逻辑运算符

&& 与 两个都为真,结果为真,一个为假就是假
|| 或 一个是真就是真!
! 非 跟反馈的结果 相反!

  1. 比较运算符

= 就是赋值运算符
=\= 这才是等于 (即使类型不一样,但值一样,也被认为是相等的!)
=\== 绝对等于(必须类型一样,值一样,才能 被判断为相等的!)
我们一般 在JS 里面 都是直接使用 三个等号 来作 等于判断的。

NaN=== NaN 它本来就不是一个数,那还比较什么呢?所以会默认返回一个 false 给你!
isNaN(NaN) 专门用来 判断 是否 是 NaN 的,这个语句 肯定返回 true。

浮点数会存在精度丢失问题

那么如何 简单的解决这个问题呢? Java 有 bigdecimal 工具类。但是 JS 没有呀。

答:Math.abs(1/3 - (1-2/3) < 0.0000000001) 这样就代表着 两个结果 无限的接近,如果 作差足够小,我们其实就可以把他俩看似为相等。


null 表示 "空"

就是 你定义了一个变量,但是里面没有 值!

undefined 表示 "未定义"

就是表示你的这个标识符 没有定义,我找不到呀。


2.2 数组

Java 里面 的数组,必须是 一系列相同类型的 数据放在数组里。

但是 JavaScript 里面 的数组,是不需要 相同类型的。

  • 比如说:
javascript 复制代码
var arr = [1,2,3,4,5,"hello",null,true];

如果 我们 想要 操作 数组里面没有的元素,它会提示 数组下标越界吗 ?

答:它只会 提示 那个元素不存在!(即 undefined 未被定义!)*

  • 定义数组的第二种形式(new Array 一个数组)
javascript 复制代码
var brr = new Array(1,2,3,4,5,"hello",false);//小括号 包含的

2.3 对象

对象是必须 大括号进行包含的。

javascript 复制代码
 var person = {
 //成员属性
        name: "muquanyu",//字符串
        age: 3,//数值
        tags: ['js','java','web','...']//数组
      }

也就是说 它是 直接 定义了 一个 对象,有点儿 类似于 "匿名内部类"。

相关推荐
wangruofeng1 小时前
终端里 rm 一下文件就没了,macOS 怎么删文件才进废纸篓
javascript·命令行·apple
小妖6661 小时前
React input 输入卡顿问题
前端·javascript·react.js
李明卫杭州2 小时前
Vue2 portal-target 组件与 Vue3 的针对性优化
前端·javascript·vue.js
你怎么知道我是队长3 小时前
JavaScript的函数介绍
开发语言·前端·javascript
weedsfly4 小时前
观察者模式 vs 发布-订阅模式:从概念到实战,一次讲清楚
前端·javascript·面试
咪饭只吃一小碗4 小时前
告别微调成本!用 RAG 本地向量库解决大模型私有领域数据接入
javascript·后端·面试
miss4 小时前
海康威视 IoT 平台前端实战:视频流、海量设备与实时数据可视化
前端·javascript·物联网
mONESY4 小时前
MCP 协议实战博客:跨进程、跨语言可复用 AI 工具标准化方案
javascript
糖墨夕5 小时前
第一章:为什么你要学 AI Agent?—— 从"切图仔"到全栈的进化之路
前端·javascript·vue.js
自律懒人5 小时前
ChatGPT Work 上线当天实测:GPT-5.6 Sol 把 Codex 塞进桌面应用,跨应用自动做报表和 PPT,一个指令干 3 小时的活
javascript·开源