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

      <tfoot id='IE1SW'></tfoot>
        <bdo id='IE1SW'></bdo><ul id='IE1SW'></ul>

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

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

        js中this的指向问题归纳总结

        绝大部分的新手,在学习JavaScript时都会遇到一个非常常见的问题:无法理解 this 的指向问题。这也是Javascript的一个复杂和有争议性的部分,本攻略旨在帮助读者归纳总结“js中this的指向问题”。

          <tbody id='NiPDK'></tbody>
        • <bdo id='NiPDK'></bdo><ul id='NiPDK'></ul>
        • <tfoot id='NiPDK'></tfoot>

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

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

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

                  绝大部分的新手,在学习JavaScript时都会遇到一个非常常见的问题:无法理解 this 的指向问题。这也是Javascript的一个复杂和有争议性的部分,本攻略旨在帮助读者归纳总结“js中this的指向问题”。

                  什么是 this

                  this 是 JavaScript 中的一个关键字,它是一个对象,并且它是由函数来调用的。this 的值在每个函数调用的时候都可能发生变化,具体的指向对象取决于函数的调用方式。

                  this 的指向问题

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

                  1. 全局上下文中的this

                  当函数不作为对象的方法调用时,this 指向全局对象 window。

                  javascript
                  console.log(this); // window

                  1. 对象方法中的this

                  当一个函数作为对象的方法被调用时,this会指向该对象。

                  javascript
                  var obj = {
                  name: 'John',
                  age: 20,
                  sayName: function(){
                  console.log(this.name); // John
                  }
                  }
                  obj.sayName();

                  1. 构造函数中的 this

                  在构造函数中,this 指向新创建的对象。

                  javascript
                  function Person(name, age){
                  this.name = name;
                  this.age = age;
                  }
                  var john = new Person('John', 20);
                  console.log(john.name); // John

                  1. 使用 call()、apply()、bind() 显式指定this

                  call()、apply()、bind() 方法可以显式的指定函数执行时 this 的指向:

                  ```javascript
                  function sayHello() {
                  console.log('Hello, ' + this.name);
                  }

                  var person = {
                  name: 'John'
                  };

                  sayHello.call(person); // 输出 "Hello, John"
                  sayHello.apply(person); // 输出 "Hello, John"

                  var bindedFunction = sayHello.bind(person);
                  bindedFunction(); // 输出 "Hello, John"
                  ```

                  总结

                  本攻略详细总结了JavaScript中this的指向问题,从全局上下文、对象方法、构造函数以及显式指向的角度全面讲解了this的使用方法。对于想要精通JavaScript编程的开发人员来说,理解和掌握this的指向问题是非常重要的。

                  示例说明

                  示例一:

                  var obj = {
                      name: 'John',
                      age: 20,
                      sayName: function() {
                          console.log(this.name);
                      }
                  };
                  obj.sayName(); // John
                  

                  在这个示例中,this 指向 obj 对象,因此 sayName() 方法被执行时,会输出对象 obj 的属性 name 的值 "John"。

                  示例二:

                  function sayHello() {
                      console.log('Hello, ' + this.name);
                  }
                  
                  var person = {
                      name: 'John'
                  };
                  
                  var bindedFunction = sayHello.bind(person);
                  bindedFunction(); // 输出 "Hello, John"
                  

                  在这个示例中,使用 bind() 方法显式地将函数 sayHello() 绑定到 person 对象上。因此,bindedFunction() 函数被调用时,this 指向了 person 对象,输出 "Hello, John"。

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

                  相关文档推荐

                  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及以下除外) 支持
                  <i id='Sil1c'><tr id='Sil1c'><dt id='Sil1c'><q id='Sil1c'><span id='Sil1c'><b id='Sil1c'><form id='Sil1c'><ins id='Sil1c'></ins><ul id='Sil1c'></ul><sub id='Sil1c'></sub></form><legend id='Sil1c'></legend><bdo id='Sil1c'><pre id='Sil1c'><center id='Sil1c'></center></pre></bdo></b><th id='Sil1c'></th></span></q></dt></tr></i><div id='Sil1c'><tfoot id='Sil1c'></tfoot><dl id='Sil1c'><fieldset id='Sil1c'></fieldset></dl></div>

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

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

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

                            <tbody id='Sil1c'></tbody>