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.对象实例特指以一个事物

posted @   RoddyBryce  阅读(53)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示