本篇内容是关于容易出错题的整理,这些题也有利于对javascript的语法逻辑的理解,分析的内容仅供参考:

 <script>
/**/
var x=0 , y=0 , c=1;
function add(n) {n=n+1;}
x=add(c);
alert(x);//
function add(n) {n=n+3; return n;}
y=add(c);
alert(y);// //执行过程
var x;//变量和函数都提前声明
var y;
var c;
// function add(n) {n=n+1;}//被覆盖,不会调用此函数
function add(n) {n=n+3; return n;}//函数名相同的函数都提前声明,后面的覆盖前面的
x=0;
y=0;
c=1;
x=add(c);//4 c作为形参传入函数,
alert(x);//
y=add(c);//
alert(y);// /**/ var i=5,k,x;
k=++i;//先加后赋值
i=i++;//先赋值给i再+1,此时被赋值的i为6,复制后自+1
alert(k);//6
alert(i);// /*3、逗号操作符 */
   //逗号操作符中有多条语句时,执行后面语句
if (1,0) {//返回0
alert('123');
} else{
alert('abc');
};//abc if (0,-2) {//返回-2
alert('123');
} else{
alert('abc');
};// var k=0;
for(var i=0, v=0; i<9, v<6; i++, v++){//返回v<6
k = i + v;
}
alert(k);// var k=0;
for(var i=0, v=0; i<6, v<9; i++, v++){//返回v<9
k = i + v;
}
alert(k);// /*4、异步事件*/
for (var i = 0; i < 5; i++) {
setTimeout(function (){//异步代码
console.log(i);//打印 5个5
},0);
}; for (var i = 0; i < 5; i++) { };
setTimeout(function (){//异步代码
console.log(i);//打印1个5
},0); function fn(){
console.log('first' );
setTimeout(function (){//同步代码执行完之后才执行异步代码
console.log( 'second' );
},0);
}
for (var i= 0; i < 5; i++) {
fn();
}
//first first first first first second second second second second
//前5个first是for循环执行5次打印事件
//后5个second是for循环执行5次,分别将异步事件分5次放在队列里面,最后执行异步事件 /*5、计时器是异步事件后执行问题*/
var t = true,x = 5;//执行1
setTimeout(function (){//执行4、计时器进入异步队列,先不执行,最后执行。
t = false;
alert(x);
x = 6;
},300);
while (t){ x = 8; }//执行2-->此处陷入死循环
alert(x);//执行3
//死循环
</script>

JavaScript学习笔记6 之经典神坑题整理的更多相关文章

  1. Java程序猿的JavaScript学习笔记(1——理念)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  2. Java程序猿的JavaScript学习笔记(汇总文件夹)

    最终完结了,历时半个月. 内容包含: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源代码级解析. jQuery EasyUI源代码级解析. Java程序猿的J ...

  3. Java程序猿的JavaScript学习笔记(8——jQuery选择器)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  4. Java程序猿JavaScript学习笔记(2——复制和继承财产)

    计划和完成在这个例子中,音符的以下序列: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaSc ...

  5. Java程序猿的JavaScript学习笔记(3——this/call/apply)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  6. Java程序猿JavaScript学习笔记(4——关闭/getter/setter)

    计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...

  7. Java程序猿JavaScript学习笔记(14——扩大jQuery UI)

    计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...

  8. javascript学习笔记(四) Number 数字类型

    数字格式化方法toFixed().toExponential().toPrecision(),三个方法都四舍五入 toFixed() 方法指定小数位个数  toExponential() 方法 用科学 ...

  9. JavaScript学习笔记之数组(二)

    JavaScript学习笔记之数组(二) 1.['1','2','3'].map(parseInt) 输出什么,为什么? ['1','2','3'].map(parseInt)//[1,NaN,NaN ...

随机推荐

  1. timus_1007_代码字

    题目要求:对于所有一个长度为N的字(这些字由0和1组成),在经过一条线路后,这些字可能会做如下的修改: 1. 0可能变成1,但只能发生一次. 2. 0或者1可能被去掉,但也只能发生一次. 3. 0或者 ...

  2. Fiddler的学习

    以下内容转自:http://www.cnblogs.com/TankXiao/archive/2012/02/06/2337728.html 仅为查找方便而复制~~ Fiddler是最强大最好用的We ...

  3. Java:那些把自己陷进去的误区(一)

    那些把自己陷进去的误区 1.1数据类型   1.整型: 1.在Java中,整形的范围为-2147 483 648—2147483647,并且这个范围与运行Java代码的机器无关,此举大大解决了移植问题 ...

  4. Windows Azure Traffic Manager (6) 使用Traffic Manager,实现本地应用+云端应用的高可用

    <Windows Azure Platform 系列文章目录> 注意:本文介绍的是使用国内由世纪互联运维的Azure China服务. 以前的Traffic Manager,背后的Serv ...

  5. CocoaPods安装使用以及常见问题

    什么是CocoaPods CocoaPods是iOS项目的依赖管理工具,该项目源码在Github上管理.开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和第三方 ...

  6. 在浏览器输入网址到页面加载完毕中间到底发生了什么?(Browser-->Server)

    最近在学习韩老师的php视频,中间有讲到发送请求到服务器返回内容,以前对这个理解并不深刻,虽然以前也知道一部分,这次听了之后收获良多:所以我就画了个流程图,从浏览器输入网址到服务器返回信息,浏览器渲染 ...

  7. 设置与获取Cookie

    自己编写的一个Cookie设置与获取函数,大家有什么感觉需要改进的地方,请告知与我,我一定虚心接受. JavaScript - Code: function setCookie(name,value, ...

  8. Emit学习(2) - IL - 常用指令介绍

    学习Emit必不可少的, 会使用到IL中间代码. 初见IL代码, 让我有一种汇编的感觉, 让我想起了, 大学时, 学习8051的汇编语言. 多的就不扯了, 直接进入正题, OpCodes指令集是不是有 ...

  9. C语言学习005:不能修改的字符串

    一段有问题的代码,你能看出来么? int main(){ char* msg="ABC"; msg[]=msg[]; puts(msg); ; } 编译这段代码并不会有什么问题,一 ...

  10. exception throw in progress runner thread_VS2015中SVN源代码无说明提交异常

    1-问题描述:通过SVN将代码变更提交服务器时,你可能会遇到以下异常:  exception throw in progress runner thread 2-解决办法: SVN代码源代码管理和TF ...