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>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值