JavaScript优化及导航菜单背后的秘密 伍星

学习目标
1.进一步了解前端优化
学习如何编写良好的 JavaScirpt
2.通过导航的学习,了解JavaScirpt的应用
JavaScript在用户体验优化的实现中起着至关重要的作用
3.前端开发相关的工具和手段了解
了解JavaScript开发相关的工具和手段

目录 CONTENTS
1 回顾:HTML语义、CSS高级
2 编写高效的 JavaScript
3 认识导航菜单及其开发
4 导航菜单的性能加速
5 破解牛X导航菜单的秘密
5 JS的调试、压缩、混淆与破解

第一章:回顾:HTML语义、CSS高级
1 HTML语义
①网页的原理
人类看到的网页是文字和图片,计算机看到的网页是代码
②HTML语义
有些招聘要求:"深刻理解WEB标准..."
③语义例子
如何才能便于计算机理解你的代码

<p><b>优才网</b>的目标是:造就全栈工程师、成就未来CTO</p>
<p><strong>优才网</strong>的目标是:造就全栈工程师、成就未来CTO</p>

<div>全栈工程师</div>与
<span style="display:block">全栈工程师</span>

选择题
哪个是予以花的HTML结构的好处? C
A.样式丢失的时候能让页面呈现清晰的结构
B.便于不支持CSS的设备根据你的标记来"读"你的网页(比如盲人用的上网工具)
C.利于搜索引擎的爬虫抓取,爬虫依赖与语义标记来确定上下文和各个关键字的权重。
D.对浏览器兼容性更好
E.便于团队开发和维护

1 CSS渲染顺序
用一个例子来体验一下

html
head title "Web p..."
body div
h1 "Web p..."
p "This..."

1、渲染的顺序是从上到下
2、边下载边渲染
3、开启单独连接去取资源
4、后面的定义覆盖前面的
5、Reflow 和 Repaint

2 CSS渲染原理
浏览器如何渲染

页面渲染就是浏览器将HTML代码根据CSS定义的规则显示在浏览器窗口中的这个过程

得出三点CSS优化原则:
A、CSS放顶部
B、使用Sprite减少数据连接
C、JS的DOM操作优化原则

2 语言本身的注意事项
① 避免无意义的计算
②尽可能减少计算
③避免使用全局变量
④始终声明局部变量、无意识的全局变量是灾难

调试js "use strict"

④ 如何检测 isNaN
⑤ 了解坑、多少中 false, with 慎用?
⑥ 语句末最好加入分号
⑦ 字符窜拼接何为高效、没有固定范式

1 、 最大的性能问题,在于 DOM 操作
① 要使用高效的选择器
① 取 20000 次的对比
② 将选择器结果保存成为局部变量
① 取20000次的对比
③ 先操作再显示(想想渲染原理)
④ 先组装再附加到 DOM 上去
⑤减少页面 DOM 节点数
⑥ 将事件绑定与操作延迟

5.JavaScript优化及导航菜单背后的秘密的更多相关文章

  1. Javascript导航菜单13则

    来源:http://www.noupe.com/ajax/13-awesome-java-script-css-menu.html翻译:http://parandroid.com下面为你准备了13个利 ...

  2. JavaScript实战(带收放动画效果的导航菜单)

    虽然有很多插件可用,但为了共同提高,我做了一系列JavaScript实战系列的实例,分享给大家,前辈们若有好的建议,请务必指出,免得误人子弟啊! ( 原创文章,转摘请注明:苏福:http://www. ...

  3. JavaScript(获取或设置html元素的宽,高,坐标),确定和判断鼠标是否在元素内部,二级导航菜单鼠标离开样式问题解决

    设置: document.getElementById('id').style.width=value    document.getElementById('id').style.height=va ...

  4. Smint – 用于单页网站制作的 jQuery 导航菜单插件

    Smint 是一款用于实现单页风格网站的 jQuery 导航插件,包含两部分:固定在页面顶部的精美导航条和能够在你点击的时候自动滚动到对应内容的菜单按钮.Smint 使用非常简单,只有一个参数用于设置 ...

  5. Blogs实现导航菜单

    #1.隐藏默认导航菜单 #header{display:none;} /*在页面定制CSS里面最前面添加如下代码,最好添加在最前面*/ #2.添加页首html代码 <!-- 添加博客导航栏信息开 ...

  6. php后管理分类导航菜单

    <!DOCTYPE> <html> <head> <meta http-equiv="Content-type" content=&quo ...

  7. 使用 jQuery 和 CSS3 制作滑动导航菜单

    这个下拉菜单可以让你的网站非常优雅,滑动框导航效果令人印象深刻.此外,子菜单框也可以与此集成起来以使其更具吸引力.导航是网站成功的关键之一,有吸引力的导航能够引导用户浏览网站中的更多内容. 效果演示  ...

  8. jq倾斜的动画导航菜单

    效果预览网址:http://keleyi.com/keleyi/phtml/jqmenu/index.htm 支持IE.Chrome.火狐等浏览器 完整源代码,保存到HTML文件打开也可查看效果: & ...

  9. jquery和css3实现滑动导航菜单

    效果预览:http://keleyi.com/keleyi/phtml/html5/15/ 有都中颜色可供选择,请使用支持HTML5/CSS3的浏览器访问. HTML源代码: <!DOCTYPE ...

随机推荐

  1. ThinkPHP示例:CURD

    完整的控制器文件: class IndexAction extends Action { // 查询数据 public function index() { $Form = M("Form& ...

  2. MFC中 CDateTimeCtrl 自定义日期显示格式

    MFC里的DateTimePicker控件 ,通过属性来设置的话只能设置两种显示方式,要么日期,要么时间,很多时候我们需要在一个DateTimePicker里日期和时间同时显示. 这个时候只能通过自定 ...

  3. DbVisualizer9.0.6破解版下载、破解方法以及补丁

    DbVisualizer破解方法如下:第一步:把下载的dbvis.puk文件,替换掉安装目录“D:\Program Files\DbVisualizer-6.0.12\lib”下dbvis.jar里面 ...

  4. overlay和overlay2的区别

    docker作为一个容器平台,它有一套自己的存储系统.它支持的driver有overlay,overlay2, aufs等等. 这篇文章主要分析overlay和overlay2的区别. overlay ...

  5. 安装htop教程及坑

    安装htop的坑:1.上官网http://hisham.hm/htop/releases/下载最新的包2.解压缩:tar -zxvf htop-2.0.2.tar.gz;3.进入目标文件夹: cd h ...

  6. sql 从另外一张表查询数据存入本表. (有关联的)

    UPDATE friends INNER JOIN users ON friends.friendid=users.userid SET friends.friendname=users.userna ...

  7. 【Python】向函数传递列表

    向函数传递列表 在实际使用中你会发现,向函数传递列表是比较实用的,这种列表可能包含名字.数字.可能更复杂的对象(字典) 假设向一个函数传递一堆水果,我们说出我们喜欢所有的水果 def Obj(frui ...

  8. 登陆界面综合实例+spinner下拉列表框详解

      点击确定: 点击修改:     想到Spinner下拉按钮可以通过两种方法生成 方法一: 1.在array数组里面定义数组 代码如下: <resources> <st <? ...

  9. python:如何判断字符串中的内容是否都为数字并且把字符串转换为数字

    使用str.isdigit();有两种使用方法 str.isdigit('12345') =====>True str.isdigit('aaaaa')======>False 或者 '1 ...

  10. js:string转int

    http://blog.csdn.net/leidengyan/article/details/5503594 <script>     var   str='1250' ;   aler ...