【JavaScript】基础知识
1、基本数据类型
值类型(基本类型):
- 字符串(String):任意字符串、
- 数字(Number):任意数字、
- 布尔(Boolean):true / false、
- 未定义(Undefined):undefined、
- 空(Null):null、
- 独一无二值(Symbol,ES6中添加的)
undefined 与 null 的区别
undefined:表示定义未赋值
null:表示定义赋值了,但是值为空(null)
在初始时赋值为null,是为了赋值为对象
在结束时赋值为null,是为了成为垃圾对象方便垃圾回收
引用数据类型:
- 对象(Object):任意对象、
- 数组(Array):一种特别的对象(数值下标,内部数据是有序的)、
- 函数(Function):一种特别的对象(可以执行)
变量对于基本数据类型,保存的就是基本类型的数据
对于引用数据类型,保存的是在堆空间分配的地址
2、基本判断
- typeof:判断类型
可以判断 undefined / 数值 / 字符串 / 布尔 / function
不能判断 object 和 null 和 object 和 array - instanceof:判断是否是实例
可以判断对象的具体类型 - ===:判断数据是否全等(数据类型和数据值),如果只判断数据值是否相等则用
==
可以判断 undefined / null
3、数据、内存和变量三者的关系
- 存储在内存上的是数据
- 内存条通电后产生的临时可存储空间是内存,分为栈空间和堆空间
- 可变的量叫变量,分为变量名和变量值,变量名用来查找对应的内存,变量值用来存放在内存的数据(如果是对象则是在内存的地址)
总结: 内存是存储数据的空间,变量是内存的标识
坑点 1:在方法中改变变量的值
点击查看代码
let a={name:"aaa"}
function fn(obj){
console.log(obj)//"aaa"
obj={age:12}
console.log(obj)//"12"
}
fn(a)//方法调用完了之后,临时变量被垃圾回收,这里只是把 a 所存储的数据传入了 fn 中,不是把 a 传入了 fn 中
console.log(a)//"aaa"
4、对象
- 对象是多个数据的封装体,用来保存多个数据的容器,一个对象表示现实中的一个事物。
- 使用对象是为了统一管理多个数据。
- 对象由属性和方法构成:属性(属性值和属性值)、方法(属性值为函数的属性)
5、函数
- 实现特定功能的 n 条语句的封装体,只有函数是可以执行的,其他类型的数据不能执行
- 提高代码的复用性,便于阅读
- 函数声明:function name(){},表达式:var name = function(){},表达式实现了变量提升
- js 可以让任意的函数成为任意的对象的方法,例如 fun.call(obj) 或者 fun.apply(obj) 表示 fun 临时成为了 obj 的方法
- IIFE(立即执行函数),作用在于隐藏实现,不会污染外部空间
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了