前端题目
2015-06-22 09:50
302 查看
</pre><p>1.</p><p></p><pre name="code" class="javascript">var bb = 1; function aa(bb) { bb = 2; alert(bb); }; aa(bb); alert(bb);
// 2 1
当时犯了个错误,以为aa()里面对bb赋值,全局变量bb就改变了。这里要注意bb是函数的参数
var bb = 1; function aa(value) { value = 2; alert(value); } aa(bb); alert(bb);
这样就能很清楚的看到,改变的是函数的参数,而不是全局变量
2.
function Foo() { var i = 0; return function() { console.log(i++); } } var f1 = Foo(), f2 = Foo(); f1(); f1(); f2();
// 0 1 0还是没弄懂,闭包常驻内存。为什么f1()和f2()不是公用一份i
3.
if(! "a" in window){ var a = 1; } alert(a); // undefined
这题考的是变量前置。
!的优先级比in大,所以!'a'先转为false,再false in window,而不是!('a' in window)
虽然没有进入if{}里,但是变量声明被提前了
4.var f = function g() {
return 23;
};
typeof g();// g is not defined犀牛书P166页。对函数表达式来说,函数名是可选的,如果存在,该名字只存在函数体中。
所以这个是有函数名的函数表达式
相关文章推荐
- js闭包所用的场合以及优缺点分析
- 如果您想省略JS里的分号,了解一下JS的分号插入原理吧
- AngularJS从构建项目开始
- JavaScript创建闭包的两种方式的优劣与区别分析
- javascript中使用new与不使用实例化对象的区别
- 浅谈javascript构造函数与实例化对象
- ionic angularjs 实现Enter键的提交
- javascript中对象的深度克隆
- ionic Angularjs 产生简单的列表滚动区域
- 深入理解jQuery插件开发---转载
- javascript原型链与特权方法
- ionic AngularJS-设定ion-scroll div 动态高度
- leetCode(19):Count Complete Tree Nodes
- leetCode(19):Count Complete Tree Nodes 分类: leetCode 2015-06-22 08:32 222人阅读 评论(0) 收藏
- PDO获取数据的方法fetch()、fetchAll()、setFetchMode()、bindColumn()
- 【Leetcode】【Hard】Reverse Nodes in k-Group
- GoJS使用
- 通过JSON文件获取图片URL,下载并显示在布局中
- getComputedStyle获取css属性与IE下的currentStyle获取到的值不同
- HTML 5 简介