[常识] js 程序员基本常识

Ⅰ、js 作用域与 this

一.作用域

  1. 全局变量可以直接引用

  2. 函数内的普通变量使用

  3. 普通函数可以对全局变量做赋值,发生的是一个永久的改变

  4. 通过元编程定义的函数,访问相应的变量,因为不是window的,而是内部的,所以会报 not defined 的错误。

var six = (function(){
    var foo = 6;
    return function(){
        return foo;
    }
})()

//js解释器会先执行temp,忽略最后的(),然后再执行var six = (temp)()

  5. 通过元编程定义的函数中的变量,不会污染全局变量。

 

二、this

  定义:指当然作用域的对象实例。

 

三、实战经验

  1. 在 Vue 的方法定义中容易出错,当代码看起来没问题,但 console 总报”xx undefined“时,十有八九是忘记加 this 了 。this代表当前对象,属性需要通过this.

  2. 在发起 HTTP 请求时容易出错。返回数据后,在 .then(function(data){}) 中不能使用this,因为这里的 this 表示 HTTP request event. 但是如果使用 => 就可以正常使用 this 了。

 

 

 

 

[常识] js 程序员基本常识

上一篇:Spring@Autowired注解与自动装配


下一篇:http