js中this关键字的使用

本文通过三个实例深入探讨了JavaScript中闭包的概念及作用域的特性,展示了如何使用闭包来保持变量状态,并解释了`this`关键字在不同上下文中的行为。
<script>
            //题目一:理解r1与r2的输出
            function addFactory(){
                var adder = 5;
                return function(data){
                    adder += data;
                    return adder;

                }

            }

            var adder1 = addFactory();

            var r1 = adder1(1);

            //console.log(r1);
            
            r1 = adder1(1);
            
            //console.log(r1);
            
            var adder2 = addFactory();

            var r2 = adder2(2);

            //console.log(r2);
            
            r2 = adder2(2);
            //console.log(r2);
            

            //题目二:下面的代码输出什么
         var name = "The Window";
          var object = {
            name : "My Object",
            getNameFunc : function(){
              return function(){
                return this.name;
              };
            }
          };
          alert(object.getNameFunc()());
        
            

            //题目三:
            var name = "The Window";
              var object = {
                name : "My Object",
                getNameFunc : function(){
                  var that = this;
                  return function(){
                    return that.name;
                  };
                }
              };
              //alert(object.getNameFunc()());
        </script>

 

转载于:https://www.cnblogs.com/goldlong/p/7904356.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值