自言自语WEB前端面试题(一)

刚刚得到通知,明天可能要放半天假,开心的像个200斤的傻子 

我怕真是个傻子,是后天

今天的我是依旧痛经的我

于是我又来写博客了

原来,博客竟是痛经良药

接下来请看题,此题,0难度,基本不需要动脑子

JS 1.1

(function(){
  var val=1;
  var json={
    val:10,
    dbl:function(){
      val*=2;
    }
  }
json.dbl();
console.log(json.val+val)
})()

 首先我们看着道题它又长又宽···(⊙o⊙)…emmmm

这道题确定一个范围,无全局变量,匿名函数自调

其中声明的val是一个局部变量

接下里,当一个对象内定义的函数被调用的时候,我们看到了函数内有一个表达式val*=2

这里面需要确定的只有一件事,val是谁的?

哇···这个问题就像是找祖宗一样,看祖宗十九代了么?

反正我没有···

回归正题啊,这个val是谁决定于他的上下文,

我们如果想确定一个变量属于谁,就要看它.前面的是谁,如果没有.

OK我们基本可以百分百确定他是当前作用域内定好的变量,而不是json的val

因为跟他一丁点关系都没有啊···

好了,理清楚这个关系之后答案呼之欲出

我也不说了,自己验证吧,回头我们改改题,把它变难一点再试试

下次痛经见···

Learn to walk before you run.
原文地址:https://www.cnblogs.com/liyx-jsfe/p/8514311.html