情深忆往缠绵 2022-03-17 17:52 采纳率: 44.6%
浏览 32
已结题

JavaScript this的使用

为什么创建全局变量this就可以获取值,而创建局部变量this就无法获取值了,这是为什么


<script>
        //this调用的变量可以通过两种方式获取值
        var str = "第一种: 直接赋值<br/>";
        var arge = "在方法外部创建对象,在方法内部通过this调用,这时,this将指向window";
        function write() {
            document.write(this.str , this.arge , "<br/>");
        }
        write();
    </script>
    <script>
        var obj = {
            str : "第二种: 方法调用<br/>",
            arge : "将需要调用的参数写在一个变量中,然后通过方法进行调用,这时,this将指向obj"
        }
        write.apply(obj);
        //也可以直接写在方法的参数列表中,如果不想写在列表中,那就只写对象名称即可
        function write() {
            var str = "str";
            var agre = "arge";
            document.write(this.str , this.arge , "<br/>");
            //注意:这么写是无法获取值的
        }
        write();
    </script>

img

  • 写回答

2条回答 默认 最新

查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月19日
  • 已采纳回答 6月11日
  • 创建了问题 3月17日

悬赏问题

  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了