JavaScript学习笔记6 之经典神坑题整理
本篇内容是关于容易出错题的整理,这些题也有利于对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 之经典神坑题整理的更多相关文章
- Java程序猿的JavaScript学习笔记(1——理念)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- Java程序猿的JavaScript学习笔记(汇总文件夹)
最终完结了,历时半个月. 内容包含: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源代码级解析. jQuery EasyUI源代码级解析. Java程序猿的J ...
- Java程序猿的JavaScript学习笔记(8——jQuery选择器)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- Java程序猿JavaScript学习笔记(2——复制和继承财产)
计划和完成在这个例子中,音符的以下序列: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaSc ...
- Java程序猿的JavaScript学习笔记(3——this/call/apply)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- Java程序猿JavaScript学习笔记(4——关闭/getter/setter)
计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...
- Java程序猿JavaScript学习笔记(14——扩大jQuery UI)
计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...
- javascript学习笔记(四) Number 数字类型
数字格式化方法toFixed().toExponential().toPrecision(),三个方法都四舍五入 toFixed() 方法指定小数位个数 toExponential() 方法 用科学 ...
- JavaScript学习笔记之数组(二)
JavaScript学习笔记之数组(二) 1.['1','2','3'].map(parseInt) 输出什么,为什么? ['1','2','3'].map(parseInt)//[1,NaN,NaN ...
随机推荐
- Oracle Dataguard之failover
Oracle Dataguard中,角色转换包含两类:Switchover和Failover.上文<Oracle Dataguard之switchover>中,我们已经谈过了switcho ...
- fastcgi配置
fastcgi配置 我们这里说的fastcgi配置专指nginx对fastcgi的配置,fastcgi本身的配置介绍在fastcgi 安装文中有说明. nginx的fastcgi模块提供的命令 fas ...
- .NET Core第三方开源Web框架YOYOFx
YOYOFx框架 YOYOFx是一个轻量级用于构建基于 HTTP 的 Web 服务,基于 .NET 和 Mono 平台. 本着学习的态度,造了这个轮子,也是为了更好的了解各个框架的原理和有点,还希望可 ...
- 五、BLE(下)
1.1 GATT server Service 通过走读代码, GATT Server作为一个GATT service,我是没有发现其发挥了多大功能,其负责处理的消息GATT_SERVER ...
- Node.js系列基础学习----安装,实现Hello World, REPL
Node.js基础学习 简介 简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台.Node.js是一 ...
- 【原创】jQuery 仿百度输入标签插件
1.先上效果图 2.调用方式 <link href="/Styles/tagsinput.css" rel="stylesheet" type=" ...
- C语言学习010:fopen读写文件
在文件input.csv文件中,我们有数据如下 Apple Pear Litchis Pineapple Watermelon 现在我们将input.csv文件下的读取并写入到output.csv文件 ...
- has no parameters and arguments were supplied
这个问题,让Insus.NET花上不少时间与心机. 在项目中,Insus.NET是使用这个逻辑组件: <程序与数据库之间的连接桥梁和逻辑处理>http://www.cnblogs.com/ ...
- 浅谈你感兴趣的 C# GC 机制底层
本文内容是学习CLR.via C#的21章后个人整理,有不足之处欢迎指导. 昨天是1024,coder的节日,我为自己coder之路定下一句准则--保持学习,保持自信,保持谦逊,保持分享,越走越远. ...
- android app自动化测试之UIAutomator
一.UIAutomator Android自动化测试工具有很多,但是要免费.易上手,本人觉得就直接使用Eclipse自带的UIAutomator就不错.测试人员无需跟开发要代码信息,只要手机上有安装之 ...