JavaScript作用域,对象
#1.作用域
1.1作用域概述
1.就是代码名字(变量)在某个范围内起作用和效果,目的是为了提高程序的可靠性更重要的是减少命名冲突
2.js作用域(es6)之前:全局作用域和局部作用域
3.全局作用域:整个script标签或者是一个单独的js文件
4.局部作用域(函数作用域)在函数内部就是局部作用域 这个代码的名字只在函数内部起效果和作用
2.1变量作用域
变量分为全局变量和局部变量
1.全局变量:在全局作用域下的变量
2.局部变量:在局部作用域下的变量, 或者在函数内部的变量就是局部变量 注意:在局部作用域下,没有声明的变量也是全局变量
#2.作用域链
只要是代码,就至少有一个作用域
写在函数内部的叫做局部作用域
作用域链:内部函数访问外部函数的变量,采取的是链式查找的方法来决定取那个值,这种结构我们称为作用域链,输出采用的是就近原则
案例1:结果是几
<script type="text/javascript"> function f1() { var num = 123; function f2() { console.log(num); } f2() } var num = 456 f1() </script>
#3.利用构造函数创建对象
构造函数:是一种特殊的函数,主要用来初始化对象,即为对象成员变量赋初始值。
<script type="text/javascript"> function Star(uname, age, sex) { this.name = uname; this.age = age; this.sex = sex; } var ldh = new Star('刘德华', 18, '男') </script>
1.构造函数名字首字母要大写
2.我们构造函数不需要 return 就可以返回结果
3.我们调用构造函数必须使用new
4.我们只要 new Star()调用函数创建一个对象 ldh {}
new 关键字执行过程中
1.new 构造函数可以在内存中创建一个空的对象
2.this 就会指向刚才创建的空对象
3.执行构造函数里面的代码,给这个空对象添加属性和方法
4.返回 这个对象 在构造函数中不需要写 return 来返回对象,因为new 自带返回方法
#4.遍历对象
for...in 语句用于对数组或者对象的属性进行循环操作。
<script type="text/javascript"> //遍历对象 var obj = { name: 'pink', age: 18, sex: '男' } //for...in 遍历我们的对象 for (var k in obj) { console.log(obj[k]); } </script>
#5.小结
1.对象可以让代码变得更清晰
2.对象复杂数据类型object
3.本质:对象就是一组无序的相关属性和方法的集合
4.构造函数泛指某一大类
5.对象实例特指以一个事物
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现