javascript闭包 原型 原型链

本文详细解析了JavaScript中的闭包概念,包括其在延长变量生命周期和创建私有环境的作用;探讨了作用域链和AO作用域;以及Vue中的数据绑定与原型函数的特性。通过实例演示了原型链查找机制的工作原理。
摘要由CSDN通过智能技术生成
// 闭包:方法里返回一个方法
        function a1(params) {
            let a1 = 1
            return function () {
                return a1
            }
        }
        //闭包存在的意义
        //1.延长变量的生命周期(常驻内存)
        //2.创建私有环境
        let a = 1//全局变量 保存在scope中
        function f1() {
            let b = 1;//局部变量 保存在local中
            console.log(a);
        }
        console.log(b);//报错
        f1();

        //AO作用域
        //作用域链
        let name = '1';
        function f2() {
            let name = '2';
            function f3() {
                let name = '3';
                console.log(name);
            }
            f3()
        }
        f2();

        function outter() {
            let a1 = 1
            let a2 = 2
            return function inner() {
                return a1
            }
        }
        function f4() {
            let res = outter()
            console.log(res);
        }
        f4()
        //ƒ inner() {
            //     return a1
            // }

        // vue data()函数
        //每个组件都有私有作用域 obj会互相干扰
//prototype 原型 函数特有
        //_proto_
        // let obj = {};
        // obj.prototype.a = ''//报错
        // function name(params) {
            
        // }
        // name.prototype.a = ''

        function Person() {
            
        }
        Person.prototype.name = '123';
        Person.prototype.age = '18';
        Person.prototype.getAge = function () {
            console.log(this.age);
        }
        let person1 = new Person()
        person1.age = 28
        console.log(person1);

        // 从当前实例属性去查找,如果找到了就返回,否则顺着原型链一层层往上找
        // 直到找到null为止,如果都没有 就报错
        // 实例的_proto_指向构造函数的prototype
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值