js中var的重复声明

Posted saolv

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中var的重复声明相关的知识,希望对你有一定的参考价值。

腾讯的一个笔试题,先看一下

var a = 100;
function fn()
alert(a); //undefined
var a = 200;
alert(a); //200

fn();
alert(a); //100
var a;
alert(a); //100
var a = 300;
alert(a); //300

前两个很简单,不解释 了,涉及到声明提前的问题。

后面仨为啥呢,这要总结下重复声明的问题:
1.使用var语句多次声明一个变量不仅是合法的,而且也不会造成任何错误.

2.如果重复使用的一个声明有一个初始值,那么它担当的不过是一个赋值语句的角色.

3.如果重复使用的一个声明没有一个初始值,那么它不会对原来存在的变量有任何的影响.
---------------------
作者:juzipchy
来源:CSDN
原文:https://blog.csdn.net/juzipchy/article/details/70138857
版权声明:本文为博主原创文章,转载请附上博文链接!

以上是关于js中var的重复声明的主要内容,如果未能解决你的问题,请参考以下文章

JS变量重复声明以及忽略var 声明的问题及其背后的原理

js学习笔记

js变量的重复声明问题总结

为啥我可以在javascript中删除一个声明为a = 1的变量而不是一个声明的var b = 1 [重复]

js-varletconst的区别

ES6 - let & const