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

[ 前端基础知识学习 ] Day 5

学习目标:

  • 学习JavaScript基础知识

学习内容:

JavaScript的数据类型


学习产出:

1.变量提升

JavaScript 引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行一行地运行。这造成的结果,就是所有的变量的声明语句,都会被提升到代码的头部,这就叫做变量提升(hoisting)。

2.数据类型

2.1 null 、undefined、布尔值

null是一个表示“空”的对象,转为数值时为0;undefined是一个表示“此处无定义”的原始值,转为数值时为NaN。
布尔值就两个值:true和false,除了null, undefined, 0, NaN, false, ‘’, ""在预期为布尔值的位置上会被转换成false外,其他全部转换成true。

2.2 数值

JavaScript 语言的底层根本没有整数,所有数字都是小数(64位浮点数)。

  • parseInt方法用于将字符串转为整数
  • parseFloat方法用于将字符串转为浮点数
  • isNaN方法可以用来判断一个值是否为NaN
  • isFinite方法返回一个布尔值,表示某个值是否为正常的数值

2.3 字符串

就记一个length属性得了

2.4 对象

  • 对象就是一组“键值对”(key-value)的集合,是一种无序的复合数据集合
  • 对象的所有键名都是字符串(ES6 又引入了 Symbol 值也可以作为键名)
  • 属性可以动态创建,不必在对象声明时就指定
  • 如果不同的变量名指向同一个对象,那么它们都是这个对象的引用,也就是说指向同一个内存地址。修改其中一个变量,会影响到其他所有变量
  • 属性的读取或赋值都可以使用点(.)或者方括号([ ])
  • 属性的查看用key,删除用delete, 是否存在用in,遍历用for…in

2.5 函数

  • 声明function
  • 存在函数名提升
  • name:返回函数名,length:返回函数预期传入的参数个数,toString():返回函数源码
  • 函数执行时所在的作用域,是定义时的作用域,而不是调用时所在的作用域
  • 函数参数如果是原始类型的值(数值、字符串、布尔值),传递方式是传值传递(passes by value),也就是说在函数里面改值是不会影响外面的变量的值的;但是如果是复合类型的值(数组、对象、其他函数),传入函数的原始值的地址,因此在函数内部修改参数,将会影响到原始值。
  • 同名参数取最后
  • ⭐ 闭包

    • 封装对象的私有属性和私有方法
    • 可以让函数外部读取函数内部的值
    • 记录下函数被创建的状态
  • 立即调用的函数表达式
    • var f = function f(){ return 1}();

2.6 数组

  • 特殊的对象,所以对象有的它都有
  • 除了for…in可以遍历之外,还有forEach
  • 遍历不会跳过数组的空位
http://www.jsqmd.com/news/528774/

相关文章:

  • 2026年重庆新能源汽车公司推荐:重庆珂星汽车销售服务有限公司6-8方车/3.7-4.2米轻卡全系供应 - 品牌推荐官
  • 2026云南镀锌管厂家实用参考 适配大棚建筑桥梁工程 耐腐适配西南气候 - 深度智识库
  • 西门子S7 - 200 PLC与组态王构建旋转式滤水器控制系统
  • 终极指南:如何用MelonLoader打造你的Unity游戏模组世界 [特殊字符]
  • 20251918 2025-2026-2《网络攻防实践》第二周作业
  • 5大核心优势!Thermo:化工工程师的开源热力学计算引擎
  • Phi-3-mini-128k-instruct快速部署:使用Docker Compose一键启动
  • 【全栈实战】Spring AI + MCP:手把手教你实现“指数基金实时估值”与 AI 全链路观测系统
  • 小红书笔记采集总报错?别再用懒加载指令了,试试这个虚拟列表的破解方案
  • 解放游戏进度:Apollo Save Tool让PS4存档管理不再复杂
  • FUTURE POLICE实战:在线教育视频字幕自动对齐方案
  • 2026年国内最值得推荐的AI Agent(智能体)工具有哪些?深度解析企业级智能自动化选型指南
  • 3步揭秘存储设备真实容量:实战避坑指南
  • STM32 进阶封神之路(二十五):ESP8266 深度解析 —— 从 WiFi 通信原理到 AT 指令开发(底层逻辑 + 实战基础)
  • 20260319-编程踩坑总结
  • 跨平台实战:Windows/macOS同步部署OpenClaw与Qwen3.5-4B-Claude
  • Python百度搜索API:免费无限制的搜索引擎集成终极方案
  • 京东评论和评论数api接口
  • 4个步骤掌握PacketFence:构建企业级网络准入控制体系
  • 电源调试避坑实战:7个量产踩坑点+手把手教程,新手也能零失误
  • Python入门者的CasRel模型初体验:三行代码实现关系抽取
  • 3个技巧让智能提取字幕工具成为你的视频学习助手
  • Klipper 3D打印机固件故障诊断指南:从异常识别到根本解决
  • OpenClaw Skills管理实战:130+Agents环境下的技能共享与调用指南(建议收藏)
  • MedGemma 1.5应用指南:就医前如何用AI整理症状和问题
  • AD7790底层驱动设计:嵌入式Σ-Δ型ADC时序控制与低功耗实践
  • 74.基于springboot+vue的自习室预定系统
  • 2026最新OpenClaw安装教程,5分钟装好,打造专属自动化数字员工,龙虾军团一键召唤
  • 猫抓插件使用指南:解决网页资源获取难题的实用工具
  • PDF文档处理终极指南:开源PDF补丁丁完整使用教程