JS var命令容易产生的精彩bug
来源:互联网 发布:淘宝主页设计 编辑:程序博客网 时间:2024/05/24 07:23
【本文出处: http://blog.csdn.net/leytton/article/details/54024167】
在编写simJQ框架时发现我可能一直在犯的错误,var命令心情好的时候就加在变量前面,心情不好赶时间就直接省略了●﹏●
如果HTML调用的框架函数中有全局变量,那么很容易造成混乱。
注意:函数内部声明变量的时候,一定要使用var命令。如果不用的话,你实际上声明了一个全局变量!
有两点:
1、最好进行var命令声明
2、全局变量就不用在老长的js代码的最前面声明啦,随用随地声明~
此外,看下面这段代码的运行
function var_test(i){i=1;i++;j++;k=1;var l=2;console.log('fun_i:'+i);console.log('fun_j:'+j);}i=4;j=5;var_test(i);console.log('page_i:'+i);console.log('page_j:'+j);console.log('page_k:'+k);console.log('page_l:'+l);
运行结果:
fun_i:2index.html:448 fun_j:6index.html:453 page_i:4index.html:454 page_j:6index.html:455 page_k:1index.html:456 Uncaught ReferenceError: l is not defined
从中可以看出:
1、函数中参数有与全局变量名字相同的名字(或全局变量当作虚参)时,对此变量的操作不影响全局变量
2、在函数中不带var命令声明的全局变量,在HTML页面中仍旧有效
3、函数中对HTML页面全局变量的操作,在HTML页面中仍旧有效
4、在函数中带var命令声明的为局部变量,在HTML页面中无效
0 0
- JS var命令容易产生的精彩bug
- JS注释所产生的BUG
- RaidoButton产生的bug
- bug产生的原因
- js的var
- js var的作用
- 测试容易遗漏的bug
- 精彩BUG人生[2] -- 不对齐的精彩
- js变量中有var定义和无var定义的区别,es6中let命令和const命令
- 容易忘记的命令
- 容易忘记的命令
- 数组初始化容易产生的问题
- 转:容易产生误解的CallNextHookEx函数
- 某些容易产生"invalid operator <"的情况
- MyBatis中容易产生的错误记录
- 编程产生bug的原因
- Bug产生的原因有
- 很精彩的linux命令
- S7-300(CP343-1)与PC通过TCP/IP直接通讯
- 微信开发之扫码支付
- 关于SQL的nvarchar 与varchar 数据类型的区别
- 阿里云centos 6.5 配置VPN(PPTPD服务)
- python 实用库
- JS var命令容易产生的精彩bug
- 配置自己的maven库——nexus
- mybatis配置
- 记单词020
- Detection Spam Emails
- 堆 的自我定义
- LA 3263 That Nice Euler Circuit 欧拉定理 -
- Github 使用初步
- nlp基础科普(一)