JavaScript笔记(3)关于重复的定义和遗漏的定义

关于重复的定义和遗漏的定义

1.如果重复定义时又进行了初始化,则相当于重新赋值,如:

var i=5;
var i=10;
console.log(i);//输出为10
 
  

2.如果重复定义时未初始化,则相当于没有重复定义,如:

var i=5;
var i;
console.log(i);//输出为5

注意:IE浏览器的控制台会“保留”变量上次的值,因此

var i=100;
console.log(i);//输出100
var i;
console.log(i);//输出仍是100,而不是undefined,除非真的是“首次”运行而未初始化。web页面内嵌没有此问题。

3.遗漏定义

直接访问一个变量会报错:

console.log(k);//控制台下会输出 "“k”未定义"

如果给未定义的变量赋值,js会给全局对象创建一个同名属性,就像定义了一个全局变量一样。如:

x=300;
console.log(x);//输出300

但这是个坏习惯,会导致bug,所以应该使用var来规范地定义变量。

 

 

你可能感兴趣的:(JavaScript学习笔记)