zoukankan      html  css  js  c++  java
  • 函数的作用域和this机制

    无论函数是在哪里调用,也无论函数是如何调用的,其确定的词法作用域永远都是在函数被声明的时候确定下来的(聊一下JS中的作用域scope和闭包closure

    http://www.cnblogs.com/front-Thinking/p/4317020.html)
    

    this的指向:函数在哪里调用才决定了this到底引用的是啥

    (JS中的this机制http://www.cnblogs.com/front-Thinking/p/4364337.html)
    

    立即执行函数,调用者为window,所以this指向window

    
        (obj.inner.print=function(){
            console.log(this);
        })();                             //this指向window, 并不指向obj.inner
    
        obj.inner.print();         //this指向  obj.inner
        (obj.inner.print)();       //与上行代码等价   this指向  obj.inner
    

    setTimeout中的this

        http://www.cnblogs.com/hutaoer/p/3423782.html
    
    一、setTimeout中的延迟执行代码中的this永远都指向window
    
    二、setTimeout(this.method, time)这种形式中的this,即上文中提到的第一个this,是根据上下文来判断的,默认为全局作用域,但不一定总是处于全局下,具体问题具体分析。
    
    三、setTimeout(匿名函数, time)这种形式下,匿名函数中的变量也需要根据上下文来判断,具体问题具体分析。
    
  • 相关阅读:
    _1_html_框架
    _0_web_基础
    _0_工具
    虚拟机安装与使用
    NumPy数据类型
    NumPy Ndarray对象
    机器学习之K-近邻(KNN)算法
    vue项目如何打包扔向服务器
    Eslint 规则说明
    Python ssh 远程执行shell命令
  • 原文地址:https://www.cnblogs.com/sakura-sakura/p/6836747.html
Copyright © 2011-2022 走看看