本篇内容是关于容易出错题的整理,这些题也有利于对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. Android 学习之路

    转载:http://stormzhang.com/android/2014/07/07/learn-android-from-rookie/ 这篇博客背后的故事 一路走来很不容易,刚好知乎上被人邀请回 ...

  2. [转载]基于TFS实践敏捷-实现用户场景

    您是新用户的 Visual Studio 应用程序生命周期管理 (ALM) 和 Team Foundation Server (TFS) 吗? 您想知道如何您和您的团队可以获得最大受益的这些工具来生成 ...

  3. [工具]Serv-U配置教程

    引言 最近项目中需要用到ftp服务器,将文件放在ftp服务器上,就在网上查了一下,学习了一下Serv-u的配置及使用,这里也将如何配置的做一记录. Serv-u简介 Serv-U 是目前众多的FTP ...

  4. CentOS7 Tomcat安装

    CentOS7 Tomcat安装 CentOS7 Tomcat安装 Download 从Tomcat下载apache-tomcat-8.0.18.tar.gz Install 安装 上传RPM文件到/ ...

  5. C#指定时间和当前时间的相差的月份、天数

    DateTime 类型有时间的 年月日时分秒等属性,但是获取两个DateTime的 相差月份,就需要自己写了: public static int GetSubMonth(DateTime speci ...

  6. laravel吐槽系列之一

    最近项目中经常使用到了laravel框架,对于这个框架之前只是弱弱地接触了一点,没有深入接触,这下有时间好好研究它了(主要是不得不研究了).说实话,laravel让我打开眼界了,之前对框架的使用一直停 ...

  7. C# 汉字转拼音(支持GB2312字符集中所有汉字)

    GB2312标准共收录6763个汉字,其中一级汉字3755个,二级汉字3008个. 分区表示  GB 2312中对所收汉字进行了“分区”处理,每区含有94个汉字/符号.这种表示方式也称为区位码. )- ...

  8. 数据库中char, varchar, nvarchar的差异

    char     char是定长的,也就是当你输入的字符小于你指定的数目时,char(8),你输入的字符小于8时,它会再后面补空值.当你输入的字符大于指定的数时,它会截取超出的字符.    nvarc ...

  9. C# IDisposable接口

    public class MyClass : IDisposable { public int a; public MyClass() { //构造 } public void Dispose() { ...

  10. Sql Server 2008 无法启动T-Sql调试问题的解决方案

    今天在调试存储过程时,出现无法启动T-SQL 调试的问题