美文网首页
概念辨析

概念辨析

作者: 焦糖大瓜子 | 来源:发表于2019-04-07 11:41 被阅读0次

    函数作用域相关:

    1. 提升(hoisting): 无论var出现在一个作用域的哪个位置,这个声明就属于当前函数的作用域,如果声明发生在函数的外的,那个这个变量则属于全局作用域。

    2. this标识符:
      如果一个函数内部有个this引用,那么这个this通常指向一个对象,而不是这个函数本身。但它指向的是哪一个对象,要根据这个函数是如何调用来决定。那如何调用?

     function foo(){
         console.log(this.bar);
     }
    
     var bar = "global";
     var obj1 = {
         bar: "obj1",
         foo: foo
     }
     var obj2 = {
         bar: "obj2"
     }
     // 四种调用形式
    
     foo(); // "user strict"模式下,bar使用let来未定义,访问bar属性出错
     obj1.foo(); // obj1
     foo.call(obj2);  // obj2
     new foo();  // undefined
    

    相关文章

      网友评论

          本文标题:概念辨析

          本文链接:https://www.haomeiwen.com/subject/cvmjiqtx.html