JavaScript笔记(3)关于重复的定义和遗漏的定义
2016-05-27 17:30
555 查看
关于重复的定义和遗漏的定义
1.如果重复定义时又进行了初始化,则相当于重新赋值,如:
2.如果重复定义时未初始化,则相当于没有重复定义,如:
注意:IE浏览器的控制台会“保留”变量上次的值,因此
3.遗漏定义
直接访问一个变量会报错:
如果给未定义的变量赋值,js会给全局对象创建一个同名属性,就像定义了一个全局变量一样。如:
但这是个坏习惯,会导致bug,所以应该使用var来规范地定义变量。
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来规范地定义变量。
相关文章推荐
- JSP生命周期 ,Servlet生命周期
- DOM设置表格隔行变色js代码及鼠标悬停在哪行,哪行字体就加粗效果
- 编写高质量的 JavaScript 代码(一)
- SP namespace (sp.js)
- js中数字取整,保留小数位
- 使用js获取url里的指定参数
- JSON 之FastJson解析
- javascript 用函数实现“继承”
- extjs Form验证、表单验证、表单错误提示位置
- MVC js 传参 中文乱码 utf-8
- JSONModel解析数据成Model
- 利用JSP实现Ajax
- JavaScript里的数组转化新方法Array.From
- javascript 面向对象基础(二) 包装对象原型链
- Phaser.js物理引擎篇
- js正则验证强密码
- jsp 通用获取所有表单值传后台
- js 中escape,encodeURI,encodeURIComponent的区别
- 再谈 JS中的模块规范(CommonJS,AMD,CMD)来自玉伯的seajs分析
- JavaScript基础——引用类型(二)日期类型Date、正则表达式类型RegExp