文章目录
数据类型
1.1 基本数据类型
string:任意字符串
number:任意数字
null:null
boolean:true/false
undefined:undefined
1.2 对象类型
object:任意对象
function:一种特别的对象(可以运行)
array:一种特别对象(数值下标,内部数据有序)
判断
typeof:返回数据类型的字符串表达,可以判断 undefined 数值 字符串 布尔值 function,不能判断 null object array
instanceof:判断对象的具体类型
===:可以判断 undefined null
引用变量赋值问题
n个引用变量指向同一个对象,通过一个变量修改对象内部数据,另一个变量看到的是修改之后的数据
2个引用变量指向同一个对象,让其中一个引用变量指向另一个对象,另一引用变量依然指向前一对象
js调用函数传递变量参数时是值传递
js引擎如何管理内存
内存生命周期
分配空间:得到使用权限
存储数据:可以反复操作
释放小内存空间
释放内存
局部变量:函数执行完自动释放
对象:成为垃圾对象,垃圾回收器回收
对象
什么是对象?
多个数据的封装体,用来保存多个数据的容器
一个对象代表现实中的一个事物
为什么要用对象?
统一管理多个数据
对象的组成
属性:属性名(字符串)和属性值(任意类型)
方法:一种特别的属性(属性值是函数)
如何访问对象内部数据?
.属性名
[‘属性名’]
什么时候必须要用[‘属性名’]的方式?
属性名包含特殊字符 - ,空格
变量名不确定
函数
什么是函数?
实现特定功能的封装体
只有函数可以执行的
为什么用函数?
提高代码复用,便于阅读交流
如何定义函数?
函数声明
表达式
如何调用函数?
test():直接调用
obj.test():通过对象调用
new test():new调用
test.call/apply(obj):obj.test(),让一个函数成为任意指定对象的方法进行调用
什么函数才是回调函数?
自定义:没有调用却执行的函数
dom事件回调函数
定时器回调函数
ajax请求
生命周期回调函数
生命周期回调函数
定时器
超时定时器
setTimeout
循环定时器
前端
布局
交互
立即执行函数 (IIFE)
匿名函数自调用 是一种在JavaScript中执行代码的技巧。它是把函数定义和调用包装在一起,函数会立即执行,而不是在后面某个时间点。这样可以创建一个临时的作用域,防止污染全局变量,同时允许你封装代码。常见的写法有两种,用圆括号包裹函数表达式,后面跟着调用括号:
(function() {
// 函数体
})();
或者,用括号包裹整个表达式,然后用函数调用的方式:
(function() {
// 函数体
})();
这样,即使在全局作用域中,函数内部的变量也不会被外部访问,实现了局部化
闭包
在编程中,闭包是一种拥有自由变量的函数 即使在其定义作用域之外,仍能访问这些变量。它捕捉了定义时的上下文环境,使得变量的状态得以保留,常用于实现作用域链、数据隐私和异步操作等高级功能。在JavaScript等语言中,闭包是实现模块化和记忆化等技术的关键工具。能够读取其他函数内部变量的函数
函数中的this
如何确定this 的值
所有函数内部都有一个变量this,它的值是调用函数的当前对象
任何函数本质上都是通过某个对象来调用,如果没有指定就是window
标签:调用,函数,对象,JavaScript,数据类型,Js,属性,变量 From: https://blog.csdn.net/weixin_54372875/article/details/142313347