1、语言特性:
内存泄露:内存没有释放,越堆越多。
垃圾回收(生命周期):
1、局部 很短 在局部中当函数完成时。已经释放了。全局变量在页面关闭的时候才被回收。
2、全局 很长
3、闭包。可长可短,只要这个变量还有用,函数中的局部变量就不会消失。
只要这个变量还有用,函数中所有的局部变量就不会消失。
只要这个变量还有用,整个作用域链上的所有局部变量斗不会消失。
function show(){
var a=1;
var b=1;
document.onclick=function(){
alert(a);
}
} a,b,在show调用后,都不会消失。
b,不消失的原因:
1、稳定
2、速度
作用域链:在子级找这个东西,如果没有找父级。直到找到全局。从底层找到最高层。
递归:把比较大的事情,分散为比较小的事情。【斐铂那锲发明的】
效率非常高,但是重复的太多,影响性能。
解决方法:声明数组,将有的东西存起来。 性能优化:
【1、网络性能
f12 network
yslow,学习工具。
减少Http请求。(文件合并)
代码压缩。
图片懒加载。
2、执行性能】
1、稳定性
2、扩展性
3、性能。
注意:
1、尽量不要用全局变量
2、尽量不要用属性,用变量,属性比较慢
3、循环。
4、尽量用正则
5、尽量用系统自带的。
6、尽量减少dom操作。【指的是运动】,看不到的地方停掉。
7、尽量不要用图片,尽量不要缩放
8、背景图平铺,尽量用大一点的图片。
可选项:
正则更快。
字符串操作比数组快。
<script>标签尽量放倒body的最下面。因为它可以阻塞加载。
css一定要放到上面。

3-0 js基础 语言特性及性能优化的更多相关文章

  1. php8.0正式版新特性和性能优化学习

    前言 PHP团队宣布PHP8正式GA(链接).php的发展又开启了新的篇章,PHP8.0.0版本引入了一些重大变更及许多新特性和性能优化机制.火速学习下~ JIT(Just in Time Compi ...

  2. C++ 语言特性的性能分析

    转载:http://www.cnblogs.com/rollenholt/archive/2012/05/07/2487244.html      大多数开发人员通常都有这个观点,即汇编语言和 C 语 ...

  3. vue2.0.js基础开发使用心得(结合实际项目对数据的增删改查)

    1.首先申明,没有使用vue 的组件,以及脚手架等,都是一些基础语法的使用. ------------------------------------------------------------- ...

  4. Node.js V0.12 新特性之性能优化

    v0.12悠长的开发周期(已经过去九个月了,并且还在继续,是有史以来最长的一次)让核心团队和贡献者们有充分的机会对性能做一些优化. 本文会介绍其中最值得注意的几个. http://www.infoq. ...

  5. Node.js V0.12新特性之性能优化

    v0.12悠长的开发周期(已经过去九个月了,并且还在继续,是有史以来最长的一次)让核心团队和贡献者们有充分的机会对性能做一些优化.本文会介绍其中最值得注意的几个. 支持塞住模式的可写流 现在可写流可以 ...

  6. php7和PHP5对比的新特性和性能优化

    1  抽象语法树( AST) 1)在 PHP5中,从 php 脚本到 opcodes 的执行的过程是: Lexing:词法扫描分析,将源文件转换成 token 流:    Parsing:语法分析,在 ...

  7. js动态加载js文件(js异步加载之性能优化篇)

    1.[基本优化] 将所有需要的<script>标签都放在</body>之前,确保脚本执行之前完成页面渲染而不会造成页面堵塞问题,这个大家都懂. 2.[合并JS代码,尽可能少的使 ...

  8. Go语言实战 - 网站性能优化第一弹“七牛云存储”

    由于用户纷纷反应山坡网的打开速度比较慢,所以两天前我们决定把服务器从linode迁移到阿里云. 整个迁移过程非常平滑,基本上一个小时就完成了.而且阿里云的配套设施提供的也很不错,运行状态监控什么的都有 ...

  9. 你不知道的Node.js性能优化,读了之后水平直线上升

    本文由云+社区发表 "当我第一次知道要这篇文章的时候,其实我是拒绝的,因为我觉得,你不能叫我写马上就写,我要有干货才行,写一些老生常谈的然后加上好多特技,那个 Node.js 性能啊好像 D ...

随机推荐

  1. 微信公众开发URL和token填写详解

    微信公众开发URL和token填写详解 方法/步骤     作为一名微信公众号开发者,别人进入你的微信公众号,肯定会看见某些网页,或者给你发某些信息,你需要实时自动回复,所以你需要一个24小时为用户服 ...

  2. Kylin性能调优记——业务技术两手抓

    本文由  网易云发布. 作者:冯宇 本篇文章仅限内部分享,如需转载,请联系网易获取授权. 背景 最近开始使用了新版本的Kylin,在此之前对于新版本的了解只是代码实现和一些简单的新功能测试,但是并没有 ...

  3. 使用echarts绘制漂亮的渐变键盘仪表盘

    echarts官方示例和默认样式都比较难看,经过一顿捣鼓实现比较漂亮的渐变仪表盘. 第一步:设置轴线 将图表轴线.label.分割线.隐藏,只保留刻度,然后修改刻度样式达到最终效果.不过要注意的是ax ...

  4. python--基础数据类型 set集合

    一.set集合 set集合是python的一个基本数据类型,一般不是很常用.set中的元素是不重复的.无序的.里面的元素必须是可hash的(int, str, tuple, bool) 注意:   s ...

  5. js加密解密 base64

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title> ...

  6. mylyn提交到JIRA的日期格式错误

    HTTP Status 400 - Date value '27/Dec/11' for field 'due' is invalid. Valid formats include: 'yyyy/MM ...

  7. CentOS 7 Apache服务的安装与配置(转)

    https://blog.51cto.com/13525470/2070375 一.Apache简介 Apache 是一个知名的开源Web服务器.早期的Apache服务器由Apache Group来维 ...

  8. mxonline实战2, 后台管理神器xadmin

          对应github地址:xadmin的使用   第三天:xadmin的安装以及各应用模型的后台管理注册     一. 安装xamdin     1. 源码包下载地址 https://gith ...

  9. multiprocess(上)

    仔细说来,multiprocess不是一个模块而是python中一个操作.管理进程的包. 之所以叫multi是取自multiple的多功能的意思,在这个包中几乎包含了和进程有关的所有子模块.由于提供的 ...

  10. Oracle to_char的用法

    The following are number examples for the to_char function. to_char(1210.73, '9999.9') would return ...