javascript中使用未定义变量或值的情况分析


Posted in Javascript onJuly 19, 2016

本文实例讲述了javascript中使用未定义变量或值的情况。分享给大家供大家参考,具体如下:

javascript里面一般不能使用未定义的值,但是下面几种情况除外:

1. 赋值语句中:

a=9;
alert(a) //9

赋值语句中需要赋值的变量没定义会先定义,再赋值。另外从 a=b=c=8 不报错可以看出赋值语句是从右向左执行的。

2. for in语句中:

for(key in {name:'goofy'}){
    alert(key) //"name"
}
alert(key) //"name"

for in语句中in左边的变量如果没定义也会先定义

3. typeof运算符后:

alert(typeof a) //'undefined'
alert(a) //Uncaught ReferenceError: a is not defined

typeof 运算符可以跟未定义的值,但是不会去主动定义它

4. 对象属性:

var o={name:'goofy'}
alert(o.name) // 'goofy'
o[age]=24; // Uncaught ReferenceError: age is not defined
alert(o.age)

在定义对象属性的时候如果是json直接量的形式可以使用没定义的值, 但是如果用下标的形式就会报错

5. function的参数:

function fn(a,b){
    alert(a) //4
    alert(b) //'undefined'
}
fn(4)

函数执行的时候会主动定义参数,所以在函数体内可以直接使用函数的参数,即时方法调用的时候这个参数并没有传递也不会报错

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
用 javascript 实现的点击复制代码
Mar 24 Javascript
javascript 动态添加事件代码
Nov 30 Javascript
div失去焦点事件实现思路
Apr 22 Javascript
jQuery插件实现带圆点的焦点图片轮播切换
Jan 18 Javascript
jQuery validate插件submitHandler提交导致死循环解决方法
Jan 21 Javascript
Javascript vue.js表格分页,ajax异步加载数据
Oct 24 Javascript
jQuery联动日历的实例解析
Dec 02 Javascript
深入理解基于vue-cli的vuex配置
Jul 24 Javascript
vue项目中用cdn优化的方法
Jan 03 Javascript
微信小程序访问豆瓣电影api的实现方法
Mar 31 Javascript
webpack4 SplitChunks实现代码分隔详解
May 23 Javascript
微信小程序设置滚动条过程详解
Jul 25 Javascript
js基于cookie记录来宾姓名的方法
Jul 19 #Javascript
jQuery悬停文字提示框插件jquery.tooltipster.js用法示例【附demo源码下载】
Jul 19 #Javascript
使用plupload自定义参数实现多文件上传
Jul 19 #Javascript
artDialog+plupload实现多文件上传
Jul 19 #Javascript
plupload+artdialog实现多平台上传文件
Jul 19 #Javascript
如何在JS中实现相互转换XML和JSON
Jul 19 #Javascript
js 动态给元素添加、移除事件的实现方法
Jul 19 #Javascript
You might like
PHP函数之日期时间函数date()使用详解
2013/09/09 PHP
在Linux系统的服务器上隐藏PHP版本号的方法
2015/06/06 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
jquery 动态创建元素的方式介绍及应用
2013/04/21 Javascript
JS 修改URL参数(实现代码)
2013/07/08 Javascript
关于extjs4如何获取grid修改后的数据的问题
2013/08/07 Javascript
js日期对象兼容性的处理方法
2014/01/28 Javascript
WordPress中鼠标悬停显示和隐藏评论及引用按钮的实现
2016/01/12 Javascript
Javascript之Date对象详解
2016/06/07 Javascript
JS求解三元一次方程组值的方法
2017/01/03 Javascript
jQuery实现Table表格隔行变色及高亮显示当前选择行效果示例
2017/02/14 Javascript
angularjs实现猜数字大小功能
2020/05/20 Javascript
vue Element-ui input 远程搜索与修改建议显示模版的示例代码
2017/10/19 Javascript
详解vue项目中调用百度地图API使用方法
2019/04/25 Javascript
JS实现处理时间,年月日,星期的公共方法示例
2019/05/31 Javascript
Vue 实例事件简单示例
2019/09/19 Javascript
vue 导航菜单刷新状态不消失,显示对应的路由界面操作
2020/08/06 Javascript
[01:45]2014DOTA2 TI预选赛预选赛 大神专访第二弹!
2014/05/20 DOTA
[52:40]完美世界DOTA2联赛PWL S2 Magma vs GXR 第一场 11.29
2020/12/02 DOTA
[08:54]DOTA2-DPC中国联赛 正赛 Aster vs LBZS 选手采访
2021/03/11 DOTA
Python的Django框架中TEMPLATES项的设置教程
2015/05/29 Python
python实现机械分词之逆向最大匹配算法代码示例
2017/12/13 Python
解决Python print 输出文本显示 gbk 编码错误问题
2018/07/13 Python
Python3中configparser模块读写ini文件并解析配置的用法详解
2020/02/18 Python
Pycharm和Idea支持的vim插件的方法
2020/02/21 Python
Python 程序报错崩溃后如何倒回到崩溃的位置(推荐)
2020/06/23 Python
python中执行smtplib失败的处理方法
2020/07/01 Python
英国计算机商店:Technextday
2019/12/28 全球购物
.net软件工程师应聘上机试题
2015/03/10 面试题
农田水利实习自我鉴定
2013/09/19 职场文书
2014年酒店工作总结范文
2014/11/17 职场文书
工作检讨书范文
2015/01/23 职场文书
2015年少先队活动总结
2015/03/25 职场文书
幼儿园体操比赛口号
2015/12/25 职场文书
Mysql MVCC机制原理详解
2021/04/20 MySQL
Redis 限流器
2022/05/15 Redis