当前位置: 首页 > news >正文

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 里面 的数组,是不需要 相同类型的。

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

在这里插入图片描述

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

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

在这里插入图片描述

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

在这里插入图片描述


2.3 对象

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

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

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

http://www.xdnf.cn/news/1171459.html

相关文章:

  • JavaScript 01 JavaScript 是什么
  • AI智能体“上下文工程”实践:来自 Manus 项目的经验总结
  • 大模型后训练——DPO实践
  • 代码随想录算法训练营第二十八天
  • ZLMediaKit 入门
  • 日常随笔-React摘要
  • List和Map的区别
  • Java函数式编程深度解析:从基础到高阶应用
  • Dify-13: 文本生成API端点
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | ImageCarousel(图片轮播组件)
  • wed前端简单解析
  • 小鹏汽车视觉算法面试30问全景精解
  • SpringAOP的实现原理和场景
  • 消息推送功能设计指南:精准触达与用户体验的平衡之道
  • 遇到JAVA问题
  • 深度学习的一些疑点整理
  • Linux文件系统深入理解
  • VirtualBox安装提示security安全问题
  • Coze智能体1分钟全自动生成哲学主义解析视频,无需写文案,无需剪辑
  • 性能测试-从0到1搭建性能测试环境Jmeter+Grafana+influxDB+Prometheus+Linux
  • Collection接口的详细介绍以及底层原理——包括数据结构红黑树、二叉树等,从0到彻底掌握Collection只需这篇文章
  • Linux文件系统理解1
  • Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现持械检测(C#代码,UI界面版)
  • 使用qemu命令启动虚拟机
  • linux辅助知识(Shell 脚本编程)
  • 基于卷积神经网络与小波变换的医学图像超分辨率算法复现
  • AWE2026启动:加码AI科技,双展区联动开启产业新格局
  • 【kubernetes】-2 K8S的资源管理
  • Spring、Spring MVC、Spring Boot、Spring Cloud的联系和区别
  • 闲庭信步使用图像验证平台加速FPGA的开发:第三十课——车牌识别的FPGA实现(2)实现车牌定位