函数名和变量名重名,函数名和变量名重名问题

前日骚凯问了一道变量名争辩的难点,以为很风趣,顺便也复习一下预分析的一些知识,有畸形的地方忘前辈大神指正,标题是那样的:

浅谈js中的变量名和函数名重名,浅谈js函数名重名

明日骚凯问了一道变量名争辨的主题素材,认为很风趣,顺便也复习一下预深入分析的有个别学问,有窘迫的地方忘前辈大神指正,标题是如此的:

var a=100;
function a(){
  console.log(a);
}
a();

其一串代码施行完会报错 : a is not a function

函数名和变量名重名,函数名和变量名重名问题。难点来了,为何会报那一个错误呢? 这里提到到函数和变量的预深入分析:

1)函数注脚会置顶

2)变量表明也会置顶

3)函数表明比变量注解更置顶:(函数在变量上边)

4)变量和赋值语句一同落笔,在js引擎深入分析时,会将其拆成注明和赋值2有个别,注明置顶,赋值保留在原来职位

5)注脚过的变量不会再一次注脚

知道以上的准绳,上边的代码等同于 :

var a=function (){
  console.log(a);
}
var a=100;
a();

约等于给a重新赋值了,所以会报错。

如上那篇浅谈js中的变量名和函数名重名就是笔者共享给大家的全部内容了,希望能给我们一个参阅,也希望我们多多援助帮客之家。

明日骚凯问了一道变量名争辨的难题,认为很风趣,顺便也复习一下预解析的有的知…

1.举个例子出口三个函数名,那么输出的正是这些函数的代码。

   function test(){
      console.log("哈哈");
   }
   console.log(test);

此起彼落成效域的标题,前日上午看了一会,凌晨看又看到了贰个项指标题,函数名和变量名同样的主题素材。在此之前还不会以为函数名和变量名重名了会有怎么着争辩。也是没有去测量试验过。。懒了。直接贴代码:

var a=100;
function a(){
  console.log(a);
}
a();

2.例如变量名 和函数名 重名会如何?

    //a.如果变量有值,那么输出的就是变量的值。
    //b.如果变量没有值,那么输出的就是这个函数。
    var num;
    function num(){
          console.log("哈哈");
          num =1;
    }
    num();
    console.log(num); //1

图片 1

以此串代码施行完会报错 : a is not a function

运行之后大家估计结果是稍稍?一口气:100!!笔者果然是好大的话音,没有思虑直接付出答案,实在是不太好的习贯。

主题材料来了,为何会报那些荒唐呢? 这里提到到函数和变量的预分析:

图片 2

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图