Javascript题贰
2015-12-22 14:38
513 查看
Javascript题贰
求最后的输出和原因
答案:undefined和报错。
a和b都是全局变量,熟悉javascript语法的人都知道,javascript在进入上下文阶段会创建上下文对象,这个阶段会把变量声明函数声明完成,而没有赋值修改操作。
单独看a,输出a的执行代码相当于
所以a的输出结果是undefined,至于为什么不是二十,搜索js的置顶解析。
但是同样的为什么b却报错,此时注意window.b这种方式并非具有 声明操作,这是在给window添加属性,这部分操作是在执行代码才会出现。也就是说只有执行到window.b=10的时候才会出现b。
因此在第一次输出b的时候,b没有声明,没有声明的变量会报错。
console.log(a); console.log(b); window.b = 10; var a = 20;
求最后的输出和原因
答案:undefined和报错。
a和b都是全局变量,熟悉javascript语法的人都知道,javascript在进入上下文阶段会创建上下文对象,这个阶段会把变量声明函数声明完成,而没有赋值修改操作。
单独看a,输出a的执行代码相当于
var a=undefined; console.log(a); a=20;
所以a的输出结果是undefined,至于为什么不是二十,搜索js的置顶解析。
但是同样的为什么b却报错,此时注意window.b这种方式并非具有 声明操作,这是在给window添加属性,这部分操作是在执行代码才会出现。也就是说只有执行到window.b=10的时候才会出现b。
因此在第一次输出b的时候,b没有声明,没有声明的变量会报错。
相关文章推荐
- 前端性能优化(三)——传统 JavaScript 优化的误区
- $.getJson()方法
- Ext.js5表单—即时查询(结合Ext.Template和远程数据)(52)
- 为了使JSON编码解码支持GB2312字符
- json转义反斜杠
- 记录-在jsp页面获取后台值在页面显示过长处理
- JSON encode 解决乱码问题
- uustepcount 好用的代码行数统计工具,支持js等语言,去除注释和空格
- JavaScript基本概念—DOM(2)
- IE6-IE9使用JSON、table.innerHTML所引发的问题
- $(function(){})和$(document).ready(function(){})
- 浏览器类型判断(JS)
- 转:几款免费的图表js插件
- 如何在JavaScript里防止事件函数的高频触发和调用
- Js 中json简单处理
- WEB开发者必备的7个JavaScript函数
- 前端开发基础-JavaScript
- 【Web】JavaScript获取HTML DOM节点元素的方法的总结
- Extjs4.10Model模型具体解释
- 前端js判断访问站点设备(手机还是PC)实现自动跳转代码