JS中创建多个相同的变量出现的问题

在做轮播图的时候出现了一个问题:如果定义两个完全相同的变量会发生什么:

  • 1.两个全局变量:
var num = 10;
var num =100;

这种情况下很明显输出num的话会是100,但是内存中会存在几个num呢?

如果在其他编程语言中,这样会被认为重复定义,编译就通不过!

但是在JS中,可以这样声明不会报错,

也就是说仍然只存在一个num,和下面效果相同

var num = 10;
num = 100;
  • 2.两个局部变量

在函数内部用var定义局部变量,没有问题。可以在多个函数中定义多个相同的变量名,这些变量的作用域不同,不会互相影响,内存中可以存在多个。

  • 3.全局变量和局部变量同名

当前全局变量和局部变量重名时,在函数内部使用的是局部变量,内存中也可以存在多个相同的变量名

原文地址:https://www.cnblogs.com/yucheng6/p/9690340.html