1. <small id='IQood'></small><noframes id='IQood'>

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

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

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

        详细讲解JavaScript中的this绑定

        时间:2023-12-08

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

            1. <legend id='swaMA'><style id='swaMA'><dir id='swaMA'><q id='swaMA'></q></dir></style></legend>
            2. <small id='swaMA'></small><noframes id='swaMA'>

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

                  详细讲解JavaScript中的this绑定

                  在JavaScript中,this用于指向当前对象,也就是函数执行时的上下文对象。this的指向在不同的情境下会被绑定到不同的对象上,因此在使用this时,必须了解其绑定机制。

                  1. 普通函数中的this

                  在普通函数中,this的指向由调用方式决定。如果是作为属性方法调用,this指向该属性所在的对象;如果作为普通函数调用,this会指向全局对象。

                  示例1:

                  let name = 'globaName';
                  
                  function fn() {
                    console.log('this.name:', this.name);
                  }
                  
                  fn();         // this.name: globaName
                  
                  let obj = {
                    name: 'objName',
                    sayName: fn
                  };
                  
                  obj.sayName();  // this.name: objName
                  

                  2. 箭头函数中的this

                  在箭头函数中,this的指向与外层的代码块的this保持一致。换句话说,箭头函数的this是词法作用域而非动态作用域。

                  示例2:

                  let name = 'globalName';
                  
                  let obj = {
                    name: 'objName',
                    sayName: () => {
                      console.log('this.name:', this.name);
                    }
                  };
                  
                  obj.sayName();  // this.name: globalName
                  

                  3. bind、call、apply改变this绑定

                  bind、call、apply这些方法可以修改函数的this指向。这些方法不会改变函数的原始绑定。

                  示例3:

                  let name = 'globalName';
                  
                  function fn() {
                    console.log('this.name:', this.name);
                  }
                  
                  let obj = { name: 'objName' };
                  
                  fn.call(obj);    // this.name: objName
                  
                  let fnObj = fn.bind(obj);
                  fnObj();         // this.name: objName
                  

                  4. 构造函数中的this

                  在构造函数中,this指向当前实例对象。注意:构造函数不应该有返回值,否则会影响this指向。

                  示例4:

                  function Person(name, age) {
                    this.name = name;
                    this.age = age;
                  }
                  
                  let person1 = new Person('Tom', 18);
                  console.log(person1.name);    // Tom
                  console.log(person1.age);     // 18
                  

                  5. DOM事件回调函数中的this

                  在DOM事件的回调函数中,this指向的是触发该事件的DOM节点。

                  示例5:

                  <p onclick="console.log('this:', this);">点击我</p>
                  

                  当用户点击该p标签时,this指向的就是该p元素。

                  以上是关于JavaScript中this绑定的详细讲解。希望能对您有所帮助。

                  上一篇:JS实现自定义状态栏动画文字效果示例 下一篇:js绘制购物车抛物线动画

                  相关文章

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

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

                      <bdo id='wNv4c'></bdo><ul id='wNv4c'></ul>
                    <legend id='wNv4c'><style id='wNv4c'><dir id='wNv4c'><q id='wNv4c'></q></dir></style></legend>
                      <tfoot id='wNv4c'></tfoot>