JavaScript脑筋急转弯
来源:互联网 发布:算法爱好者 公众号 编辑:程序博客网 时间:2024/05/29 17:35
刚注册CSDN就看到非常有意思的5段代码,所以就记一下自己的想法和心得。
第一段:
<pre name="code" class="javascript">if (!("a" in window)) { var a = 1;}alert (a);首先解析函数,然后var声明 函数变量但是并不赋值; So “a” in window = true。则不会进入if判断那么alert出来的东西就是undefined。
第二段:
var a,b =function a(x){x&&a(--x);}alert(a);首先声明两个变量a,b; a=1,b=function a(x);那么alert出来当然是1.
第三段:
function a(x) { return x * 2;}var a;alert (a);
先解析函数,然后声明一个var a;与上一段不同的是函数a并没有赋值给其他变量,并且声明的变量啊并没有赋值。所以alert出来的当然是function a;
第四段
function b (x, y, a) {<span style="white-space:pre"></span>arguments[2] = 10;<span style="white-space:pre"></span>alert (a);}b(1, 2, 3);函数内部可以引用一个argument[index]对象,代表函数接收参数的集合。而alert在函数中,且a=argument[2]=10;那么alert出来的东西就是10。
第五段
function a () { alert (this);}a.call (null);alert(a);没看懂,等到以后js学好的时候在回来改吧
0 0
- JavaScript脑筋急转弯
- 脑筋急转弯
- 脑筋急转弯
- 脑筋急转弯
- 脑筋急转弯
- 脑筋急转弯
- 脑筋急转弯
- 脑筋急转弯
- 脑筋急转弯!
- 脑筋急转弯
- 脑筋急转弯
- 脑筋急转弯
- 脑筋急转弯
- 脑筋急转弯
- 脑筋急转弯
- 脑筋急转弯
- 脑筋急转弯
- 脑筋急转弯
- ASP.NET上传文件的三种基本方法
- Windows下用eclipse进行C/C++开发
- Java:元注解(Meta-Annotation)详解
- JAVA的abstract修饰符 && 接口interface用法 && 抽象类和interface的差别
- HOJ2275 Number sequence
- JavaScript脑筋急转弯
- Sicily 4423 Calculate the Sum
- Lucene使用实例
- 无需翻墙, Android官方开发相关下载资源一揽子大汇总
- 玩转Docker镜像
- Hadoop配置文件同步脚本
- OC第一天-继承,方法
- C和C++之间库的互相调用
- 软件包管理