m0_61406324 2021-10-16 00:03 采纳率: 50%
浏览 18

JS中this的使用导致网页结果不同,此处this作用

编辑网页点赞功能,实现每单击一次选框就加1

img


这是最终实现代码

<html>
    <head>
        <meta charset="utf-8">
        <title>测试 vue指令</title>
        <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
    </head>
    <body>
        <div id="app">
            <button v-on:click="j()">{{i}}</button>
            
        
        </div>
        <script>
            new Vue({
                el:"#app", //挂载点
                data:{  //创建函数
                        i:0,
                },
                methods:{
                    j:function(){
                        this.i++;
                    }
                
                }
                        
            })
        </script>
    </body>
</html>


如果我将j()函数中this删除

<script>
            new Vue({
                el:"#app", //挂载点
                data:{  //创建函数
                        i:0,
                },
                methods:{
                    j:function(){
                        i++;
                    }
                
                }
                        
            })
        </script>

最终显示结果

img

数字没法增加了,单击就会报错

img


我想知道为什么不加这个this就无法实现,不加的话data 中的i值就不会变吗。

  • 写回答

3条回答 默认 最新

  • 请叫小双去学习 2021-10-16 07:30
    关注

    是的,因为this指向的就是data里的变量。
    如果不加this,就是调用你j方法里的i变量,所以报错说i变量没有定义

    评论

报告相同问题?

问题事件

  • 创建了问题 10月16日

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测