node(this)

【什么是this?】

 this是一个使用在作用域内部(块级作用域、函数作用域、全局作用域)的关键字。

  this关键字是函数运行时自动生成的一个内部对象.只能在函数内部使用.总指向调用它的对象。

 (全局很少使用,大部分在函数内部使用。)

  【this指向】

  根据运行时的不同,this指向的对象有所区别。

  在绝大多数情况下,函数的调用方式决定了this的值。

  浏览器环境/全局环境下使用this: this指向window对象。

  console.log( this ); //Window

 console.log( this === window ); //true

  在函数中使用this:

 不管函数怎么定义,不管函数在哪定义,只看函数的调用(箭头函数除外)。

                                                  定时器

【setTimeout和setInterval的区别】

         timeout:(体育比赛中的)暂停;超时;

         interval: 间隔;间隙。

         使用setTimeout()开启的定时器,“时间”一到代码就会执行。

         即用来指定某个函数或某段代码在多少毫秒之后执行。

       使用setInterval(()开启的定时器,“时间间隔”一到代码就会执行一次。

       即每隔一段时间执行一个函数。

使用clearTimeout(()和clearInterval(()可以清除定时器。

setTimeout指定的代码,必须等到本次执行的所有同步代码都执行完,才会执行。

<script>
       
      
        setInterval(function(){
              console.log(4);
            },1000)

      // 使用clearTimeout(()和clearInterval(()可以清除定时器。

      
      // 第一种情况: 
      console.log(1);
     setTimeout(function(){
          console.log(2);
        },10)
          console.log(3);
          // 第二种情况:
         console.log("A");
         setTimeout(function(){
         console.log("B");
        },0)
         console.log("C");

 
    </script>

                                 this的指向

<script>

    //    在函数中使用this:

// 不管函数怎么定义,不管函数在哪定义,只看函数的调用(箭头函数除

// 普通函数(直接调用/全局调用):this指向window

// 函数名()

function fn() {

console.log(this); //Window}

fn() //普通调用,this指向window

// 定时器函数:this指向window

// setTimeout(function(){},0)

// setInterval(function(){},0)

setTimeout(fn,0)//把fn函数当作定时器处理函数使用

// 自执行函数:this指向window

// (function(){})()

//  对象调用函数:this指向的是xxx对象

// xxx.函数名():

// Math.random():

// 问:a.b.c(()函数中的this指向是?   答:a.b  

var obj = {

// 把fn存储的地址赋值给了obj的f成员

//  从现在开始obj.f和全局变量的fn指向同一个函数空间

f:fn,

name:'我是obj对象'

}

obj.f()//d对象调用,this指向obj。

setTimeout(obj.f,0) // 把obj.f函数当作定时器处理函数使用

// 事件处理函数:this指向的是事件源(绑定在谁身上的事件)// xxx.onclick = function(){}

// xxx.addEventListener('',function(){})

}

    </script>

猜你喜欢

转载自blog.csdn.net/m0_73495603/article/details/127325142