JS方面重点摘要

Posted 古兰精

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS方面重点摘要相关的知识,希望对你有一定的参考价值。

1、函数声明与函数表达式
(1)变量声明会置顶提前,但赋值仍在原地方
(2)函数声明同变量声明一样会提前;但是,函数表达式没有提前,就相当于平时的变量赋值
(3)函数声明会覆盖变量声明,但不会覆盖变量赋值:函数声明优先级高于变量声明的优先级;但是变量赋值以后,变量赋值初始化就会覆盖函数声明。
2、函数arguments属性初始化:
(1)callee:指向当前函数的引用
(2)length:真正传递的参数个数
(3)arguments的索引值小于传参的个数,则其值和实际传参的值是共享的;如果大于,则不共享,相方不相关,互不影响
3、and、or、not运算符详解:
And:(1)一个对象一个布尔,返回对象(2)2个都是对象返回第二个(3)某个是null或NaN,返回null或NaN(4)某个是undefined发生错误(5)2个都是布尔,返回布尔
Or:(1)一个对象一个布尔,返回对象(2)2个都是对象返回第一个(3)某个是null或NaN,返回null或NaN(4)某个是undefined发生错误
Not:(1)是对象,返回false(2)是0返回true,否则false(3)是null或NaN,返回true;是undefined发生错误
技巧:使用2个not运算符判断变量的布尔值(第一个not返回布尔值,再第二个not取反获得变量的真实布尔值)
4、性能优化:
(1)避免全局查找:用局部变量存储全局变量来减少全局查找,因为全局查找需要一直找到作用域链最顶端
(2)定时器:少用setTimeout,因为setTimeout每次都会初始化一个定时器,而setInterval只在开始的时候初始化一个定时器
(3)字符串连接少用+=,如果需要多次对同一个字符串进行+=操作的话,可以用数组来缓存,然后join方法连接
(4)数字转为字符串:"" + > String() > toString() > new String()
(5)浮点数转为整型推荐用Math.floor()或Math.round(),parseInt多用于将字符串转为数字
(6)多个变量声明,使用单var形式,以减少脚本执行时间
(7)多使用直接量更好,如:var array = [];
(8)使用文档碎片来构建dom结构:document.createDocumentFragment()
(9)使用innerhtml赋值代替构建dom元素
(10)尽量使用更准确的选择器,减少查找时间;对于获取兄弟元素,子集元素等也是一样的道理,尽量是定位更准确,避免循环
(11)删除dom节点之前,一定要删除注册在该节点上的事件,否则会产生无法回收的内存;
此外,在removeChild和innerHTML=""之间选择后者,因为用removeChild无法有效释放dom节点
(12)使用事件代理
(13)重复使用的结果,先保存到局部变量,避免多次取值的调用开销




























以上是关于JS方面重点摘要的主要内容,如果未能解决你的问题,请参考以下文章

ES6方面重点摘要

探索贝叶斯网络模型在促进内部审计提质增效 方面的应用

DevOps与敏捷开发方法

面试重点之从源码分析HashMap和ArrayList在存储扩容等方面的区别

哪个品牌的云数据库比较好?重点关注这三个方面

那位好心人帮我翻译中文摘要 非常急谢谢!!!!