• <i id='p74kH'><tr id='p74kH'><dt id='p74kH'><q id='p74kH'><span id='p74kH'><b id='p74kH'><form id='p74kH'><ins id='p74kH'></ins><ul id='p74kH'></ul><sub id='p74kH'></sub></form><legend id='p74kH'></legend><bdo id='p74kH'><pre id='p74kH'><center id='p74kH'></center></pre></bdo></b><th id='p74kH'></th></span></q></dt></tr></i><div id='p74kH'><tfoot id='p74kH'></tfoot><dl id='p74kH'><fieldset id='p74kH'></fieldset></dl></div>

      • <bdo id='p74kH'></bdo><ul id='p74kH'></ul>

        <tfoot id='p74kH'></tfoot>
      1. <small id='p74kH'></small><noframes id='p74kH'>

        <legend id='p74kH'><style id='p74kH'><dir id='p74kH'><q id='p74kH'></q></dir></style></legend>

        JavaScript深入刨析this的指向以及如何修改指向

        在JavaScript中,this是一个十分重要且常用的关键字,用来指代当前函数执行上下文中的对象。而这个对象指代的意义在不同的使用场景下会发生变化,因此我们需要深入学习并理解this的指向。
          <legend id='iGrSn'><style id='iGrSn'><dir id='iGrSn'><q id='iGrSn'></q></dir></style></legend>

              <small id='iGrSn'></small><noframes id='iGrSn'>

                <bdo id='iGrSn'></bdo><ul id='iGrSn'></ul>

              • <tfoot id='iGrSn'></tfoot>

                    <tbody id='iGrSn'></tbody>
                  <i id='iGrSn'><tr id='iGrSn'><dt id='iGrSn'><q id='iGrSn'><span id='iGrSn'><b id='iGrSn'><form id='iGrSn'><ins id='iGrSn'></ins><ul id='iGrSn'></ul><sub id='iGrSn'></sub></form><legend id='iGrSn'></legend><bdo id='iGrSn'><pre id='iGrSn'><center id='iGrSn'></center></pre></bdo></b><th id='iGrSn'></th></span></q></dt></tr></i><div id='iGrSn'><tfoot id='iGrSn'></tfoot><dl id='iGrSn'><fieldset id='iGrSn'></fieldset></dl></div>
                • JavaScript深入刨析this的指向以及如何修改指向

                  什么是this

                  在JavaScript中,this是一个十分重要且常用的关键字,用来指代当前函数执行上下文中的对象。而这个对象指代的意义在不同的使用场景下会发生变化,因此我们需要深入学习并理解this的指向。

                  在JavaScript中,this的指向可以分为以下4种情况:

                  1. 作为对象的方法调用:this指向该对象
                  2. 作为普通函数调用:this指向全局对象window
                  3. 作为构造函数调用:this指向新对象
                  4. 通过apply、call、bind对函数进行调用:this指向绑定的对象

                  如何修改this指向

                  在JavaScript中,想要修改函数内部this的指向需要借助一些函数方法来实现:

                  1. bind方法

                  bind方法会创建一个新的函数,并且将原来的函数中的this绑定到指定对象上。

                  例如:

                  var obj = {
                    name: 'John'
                  };
                  
                  function getName() {
                    return this.name;
                  }
                  
                  var getNameBind = getName.bind(obj);
                  console.log(getNameBind()); // 输出:John
                  

                  2. call方法与apply方法

                  call方法与apply方法都可以改变函数内部this的指向。

                  不同的是,call方法需要明确传递参数列表,而apply则需要将参数列表封装成一个数组传递给函数。

                  例如:

                  var obj1 = {
                    name: 'John'
                  };
                  
                  var obj2 = {
                    name: 'Mary'
                  };
                  
                  function getName() {
                    return this.name;
                  }
                  
                  console.log(getName.call(obj1)); // 输出:John
                  console.log(getName.apply(obj2)); // 输出:Mary
                  

                  示例说明

                  示例1:方法调用中的this

                  对象的方法调用时,this指向该对象。如下代码:

                  var obj = {
                    name: 'John',
                    getName: function() {
                      return this.name; 
                    }
                  };
                  
                  console.log(obj.getName()); // 输出:John
                  

                  示例2:构造函数调用中的this

                  通过关键字new来调用构造函数时,this会指向新创建的对象。如下代码:

                  function Person(name) {
                    this.name = name;
                    this.getName = function() {
                      return this.name;
                    }
                  }
                  
                  var person = new Person('John');
                  console.log(person.getName()); // 输出:John
                  

                  通过构造函数创建的对象可以“继承”构造函数的属性和方法,这是一种加强版的对象字面量语法。

                  总结

                  通过以上介绍与示例,我们可以初步认识JavaScript中this的指向以及如何修改指向的方式。合理的使用this关键字可以使我们的代码更加简洁和高效。

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  layui实现图片上传成功后回显点击放大图片功能,html代码部分: !-- html代码--div class="layui-form-item" label class="layui-form-label"上传图片/label div class="layui-input-block" button type="button" class="layui-btn" id="license-auth-letter-
                  Layui实现数据表格中鼠标悬停图片放大离开时恢复原图的效果,最终效果如下图所示: 实现代码如下,在done函数中调用hoverOpenImg方法 var tableIns = window.demoTable = table .render({ elem : '#idTest', id : 'idTest', url : '/postData', //width : 150
                  我们在用到layui时候,需要点击文本输入框调起弹出选择框并选择内容,这个要怎么操作呢?以下两种方法可以参考: 1、点击名称,弹出信息弹框,选择表格中的某一行,实现效果如下: html页面代码 !--计量器具弹出层-- div id="equipment" lay-filter="equipmen
                  https的网站如果引用百度地图,会出现加载不了的问题,这是因为涉及到跨域问题,网站是https的,但是引用百度地图的是http的,这个要怎么操作呢? 比如我引用的地址:http://api.map.baidu.com/api?v=2.0ak=AK显示 后来看了一下,少了一个s=1字段,加一下s=1
                  做小程序项目的时候,客户提了一个功能需求优化,就是长按文字需要复制全部内容,因为有的手机支持全选复制,有的手机不支持全选复制。 通过设置系统剪贴板的内容和获取系统剪贴板的内容实现复制功能 html相关代码: van-field value="{{form.contactPhone}}"
                  由于项目功能需要,要实现对table中的行实现拖拽排序功能,找来找去发现Sortable.js能很好的满足这个需求,而且它还是开源的,于是乎就开始学习使用Sortable.js 特点 轻量级但功能强大 移动列表项时有动画 支持触屏设备和大多数浏览器(IE9及以下除外) 支持

                  <small id='NY3S4'></small><noframes id='NY3S4'>

                  1. <tfoot id='NY3S4'></tfoot>
                  2. <i id='NY3S4'><tr id='NY3S4'><dt id='NY3S4'><q id='NY3S4'><span id='NY3S4'><b id='NY3S4'><form id='NY3S4'><ins id='NY3S4'></ins><ul id='NY3S4'></ul><sub id='NY3S4'></sub></form><legend id='NY3S4'></legend><bdo id='NY3S4'><pre id='NY3S4'><center id='NY3S4'></center></pre></bdo></b><th id='NY3S4'></th></span></q></dt></tr></i><div id='NY3S4'><tfoot id='NY3S4'></tfoot><dl id='NY3S4'><fieldset id='NY3S4'></fieldset></dl></div>
                      <tbody id='NY3S4'></tbody>

                      <bdo id='NY3S4'></bdo><ul id='NY3S4'></ul>
                        • <legend id='NY3S4'><style id='NY3S4'><dir id='NY3S4'><q id='NY3S4'></q></dir></style></legend>