分享一些JavaScript中不足之处
来源:互联网 发布:sai手绘软件下载 编辑:程序博客网 时间:2024/05/27 00:48
最近看了JavaScript的语言精粹这本书,数中简单明了的介绍了JavaScript这门语言的优美和不足之处,下面分享一些JavaScript中的不足之处,也就是我们在编程中会因其特性而犯错误的一些语言特性。
1) 全局变量:
在微程序中可以带来便利,但在大型程序中为成为令人头痛的问题。
问题:大型程序中,全局变量难以管理。降低了程序的可靠性。如果全局变量的名称碰巧与子程序中变量的名称相同,那么他们将会冲突。导致程序无法运行,而且通常难以调试。
另外定义全局变量的隐示全局变量,容易产生
解决方式:1.规范变量的命名2.模块化方式3.利用函数的闭包特性
2) 作用域
问题:一个代码块会创建一个作用域,代码块中声明的变量在其外部是不可见的,但是JavaScript中确没有提供块级作用域。导致我们在代码块中声明变量时,则在包含此代码块函数的任何位置都是可见的。
解决方式:在每个代码块函数的开头部分声明所有的变量。
3) 自动插入分号:
问题:JavaScript有一个自我修复机制,他通过自动插入分号来修正缺损的程序。这个可能掩盖更为严重的错误。例如:return 语句中插入会产生我们不想要的结果。
return
{test:true};这个返回的回事undefined因为JavaScript会在return后插入分号
解决:return {test:true};这样可以避免。分行显示的句子应该确保单行不容易形成独立的合法的逻辑语义。另外养成分号结束句子的良好习惯。
4) 保留字
问题:保留字不能用来命名变量参数。当被用作对象字面量的键值时,必须用引号括起来。且不能用objec.name形式来访问。只能用[‘name’]形式来访问。
解决:尽量少用保留。能不用则不用
5) Typeof
问题:typeof运算符返回一个用于识别其运算数类型的字符串。但识别不了null。和其他引用类型。
解决:配合instanceof使用
6) parseInt
将字符串或者非整数转换成整数。注意:他是一个全局函数。
问题1:在解析字符串时,遇到非数字就会停止,而不会有任何提示。如:
parseInt(“12 parse”);//返回12
问题2:在解析0为开头的字符是如果第二个参数没有传入,则在某些浏览器中会默认为8进制。如:parseInt(“09”);//返回的值为0]
解决:明确字符串中有无非字符。在转换时加上第二个参数10,表示十进制。
7) “+”运算符
可以用于number的加减,也可以用于字符串的连接。
问题:运行两种不同的类型时,会连接。只有都是整数是才会相加。
解决:确保两者都是整数
- 分享一些JavaScript中不足之处
- AS3.0中netstream的一些不足之处!!!
- Flare3D - 一些不足之处
- 不足之处
- 一些JavaScript的社交分享
- 分享一些高清javascript书
- javascript中一些字符
- 浅谈网上流传最多javascript继承方法的不足之处
- 【作废】share sdk 中一些分享问题、微信分享
- javascript中正则一些东东
- JavaScript中一些常用事件
- JavaScript 中一些小坑
- JavaScript资源收集分享,持续更新中。。。
- 231个javascript特效分享 (中)
- 分享一些javascript与正则表达式常用的调试工具
- 一些iOS开发中一些实用的Demo分享
- Android常用异步请求AsyncTask的美中不足之处
- Android中如何处理耗时操作,AsyncTask有什么不足之处.
- vs下编译不出错但是有小红线
- Lintcode80Mediansolution题解
- Re-install Flyme or Native Google Android on Meizu MX4 Ubuntu (by quqi99)
- cocos2d-x-lua:API-Toggle菜单
- 文件上传至服务器(java+[easyUi+common])
- 分享一些JavaScript中不足之处
- 微信小程序后台解密用户数据
- 909422229_Nginx反向代理配置
- Android中使用触摸事件实现Selsetor按下时改变按钮背景
- hadoop常见错误及处理方法
- json格式转换常用工具类,response发送字符串流工具类
- MySQL数据库文件其具体的存放位置简述
- 以太网控制1553b总线
- 如何快速提高App的质量?