SlideShare a Scribd company logo
1 of 86
Javscript相关tips和物流系统页面初步优化 晋元
分享的目标 ,[object Object]
让部门的大部份人会使用前端调试工具来快速定位线上页面出现BUG的原因以及如何调色并尝试解决。 ,[object Object],[object Object]
 Ajax与后端数据的异步交互,[object Object]
Dom操作和Event处理
                  事件绑定的兼容性 好处: 1:封装各浏览器差异性 2:内存泄漏管理 YAHOO.util.Event.on is an alias for addListener
想进一步了解事件模型研究吗? 请点击浩行天下的博客 之所以推荐这个博客,有个原因那同学从初中就开始写博文,值得我们学习。
了解了Dom操作和Event处理,那看个日常在回顾下 店铺优惠券 跟着晋元看源代码一句句解说@_@,让你进一步的找到感觉
AJAX数据异步交互
原生的AJAX写法                                          -----有助于大家理解原理 难记不? 基于这个实现的Demo
别担心,用YUI库封装的一种Ajax请求写法 简单好记不?
看一下YUI Ajax实现的日常 权限管理的用户管理 跟着晋元看源代码一句句解说@_@,让你进一步的找到感觉
接下来让我们了解前端的一些规范约定,以 便更好的跟专业前端开发工程师沟通协调!
Summary ,[object Object]
JavaScript
JSON
Ajax,[object Object]
HTML ,[object Object]
JS 数据约定
外联 JS
内联 JS
JS 时间戳,[object Object]
JS 数据源约定: ,[object Object],[object Object]
将 JS 文件移至页面的底部,[object Object]
阻塞其后面组件的(并行)下载
阻塞其后面内容的呈现
影响的主要原因:
保持执行顺序
对 document.write的依赖关系,[object Object]
如果的确要使用,移至页面的尾部<script type="text/javascript">  //…… </script>
内联JS:Demo
内联JS :案例 观察到的现象: 脚本执行结束,第二张图才开始下载。 页面加载后浏览器重新渲染(render)时,至少5秒页面无任何内容显示。
内联JS: ,[object Object]
阻塞其后面组件的下载
阻塞整个页面的逐步渲染
影响的主要原因:
保持执行顺序
对 document.write的依赖关系,[object Object]
二、JavaScript
JavaScript ,[object Object]
模式约定
性能优化(简单)
文件压缩,[object Object],[object Object]
模式约定: ,[object Object],[object Object]
性能优化: ,[object Object]
一个函数尽量只出现一次 var和 return 关键字,[object Object],[object Object],[object Object]
(现在推荐) Closure-compiler下载地址:     http://code.google.com/p/ourtools/downloads/list 更多的工具 git这个地址  https://github.com/kissyteam/kissy-tools.git 常见方式: test.source.js ---> test.js (以前) 	test.js        ---> test-min.js(现在推荐)
三、JSON
JSON ,[object Object]
JSON 转化,[object Object]
JSON 字符串必须使用双引号包围
JSON 数字整数的首位不允许为 0,[object Object]
JSON 转化: ,[object Object],varmyData = eval('(' + JSON + ')'); ,[object Object],varmyData =  YAHOO.lang.JSON.parse(JSON);
四、Ajax
Ajax ,[object Object],[object Object]
休息下 ,来看点工具使用 现场显示哦@_@ ,[object Object]
Yslow
Fiddler
ucool(http://code.google.com/p/ucool/)http://wiki.ued.taobao.net/doku.php?id=user:zhangting:tools:assets-tool-java 特殊情况下结合使用
在走进下YUI
内   容 ,[object Object]
 YUI Global Object
 DOM
 EVENT50
Yahoo! User Interface Library(简称yui) 是一个使用Javascript编写的工具和控件库。 我们知道写JS的时候最讨厌的就是需要兼容不同的浏览器,尤其是IE自己支持一些特殊的方法和属性,而使用YUI封装好的方法能屏蔽不同浏览器之间的差别,并能使开发更有效率,用户体验更好。 51
2010/12/16 We Choose YUI ! 稳定可靠及可持续性的维护。  HTML结构/CSS/JavaScript 层次最为分明,易于多人协作开发。  丰富的组件支持 。 完善的文档/范例。 贴近Java开发人员的代码命名习惯/编码规范/文档规范/面向对象模型。  近亲出品,友情支持 。
2010/12/16 YUI  Introduce
YUI Library 54
YAHOO Global Object YAHOO Global Object搭建了全局的YUI命名空间以及未其他的工具和控件库提供一些核心的服务。 常用方法列举如下: 避免js全局变量污染的好办法 :YAHOO.namespace(e.g.) 提供相当多的简单易用的小方法:YAHOO.lang(e.g.) 55
DOM Manipulation 56
2010/12/16 YUI Howto – DOM (1) getElementById(id) YAHOO.util.Dom.get( id )
2010/12/16 YUI Howto – DOM (2) 偏爱 $() ?   var $D = YAHOO.util.Dom; Var $ = $D.get; var obj = $(id);
2010/12/16 YUI Howto – DOM (3) ,[object Object]
addClass / removeClass / replaceClass / hasClass
getStyle / setStyle
getXY / setXY
getViewportWidth / getViewportHeight
getRegion,[object Object]
2010/12/16 YUI Howto – DOM (5) YAHOO.util.Dom.batch(el, method, 					    scope, 					    override);
Event listener Toooooooooooold(e.g.) <a href="someurl" onclick="someFunction(); return false"> 缺点:js嵌入html中,最好html和js分别管理 old,W3C标准: document.getElementById('someElement').onclick = someFunction; 缺点:需要两步,单个元素操作,函数名太长 now,更加灵活,更加方便 YAHOO.util.Event.addListener(someElement, "someEvent", someHandler); (alias .on)  62
Event listener static Boolean addListener ( el , sType , fn , obj , overrideContext ) static Boolean on ( el , sType , fn , obj , overrideContext ) 添加一个事件监听函数(e.g.) Parameters: el <String|HTMLElement|Array|NodeList> 需要添加事件监听函数的元素 ID, 元素引用,ID 或 元素引用的数组。 sType <String> 要添加监听函数的事件类型 fn <Function> 事件触发时执行的回调函数 obj <Object> 传递给监听函数的一个自定义对象 overrideContext <boolean|object> 如果为 true,fn 的执行上下文会 被替换为 obj参数,如果是一个对 象,则这个对象会成为回调函数的 执行上下文 Returns: Boolean 如果动作成功完成或延迟执行则返回 true, 如果有一个或多个元素未添加监听函数或操作 抛出了一个异常则返回 false。 63
2010/12/16 YUI Howto – Event (1) // DOM 0 el.onclick = doSomething; // IE el.attachEvent(‘onclick’, doSomething);   // Mozilla el.addEventListener(‘click’, doSomething, false);  YAHOO.util.Event.on(el, ‘click’, doSomething);

More Related Content

Viewers also liked

Alternate Grains - Gluten Free Beer
Alternate Grains - Gluten Free BeerAlternate Grains - Gluten Free Beer
Alternate Grains - Gluten Free Beercarolsmagalski
 
Hangover Cures for Overzealous Celebrators
Hangover Cures for Overzealous CelebratorsHangover Cures for Overzealous Celebrators
Hangover Cures for Overzealous Celebratorscarolsmagalski
 
Powerpoint
PowerpointPowerpoint
PowerpointSirintra
 
Beer And Nuts 4 Beer Nuts
Beer And Nuts 4 Beer NutsBeer And Nuts 4 Beer Nuts
Beer And Nuts 4 Beer Nutscarolsmagalski
 
Couch db 浅漫游.
Couch db 浅漫游.Couch db 浅漫游.
Couch db 浅漫游.shyboyzk
 
AWSによるソーシャルアプリ運用事例
AWSによるソーシャルアプリ運用事例AWSによるソーシャルアプリ運用事例
AWSによるソーシャルアプリ運用事例Yasuhiro Horiuchi
 
ゲームインフラと解析基盤 そのものの考え方を変えるAWS
ゲームインフラと解析基盤 そのものの考え方を変えるAWSゲームインフラと解析基盤 そのものの考え方を変えるAWS
ゲームインフラと解析基盤 そのものの考え方を変えるAWSYasuhiro Horiuchi
 
AWSアップデート (DB縛り) in 第18回 JAWS-UG 東京 勉強会
AWSアップデート (DB縛り) in 第18回 JAWS-UG 東京 勉強会AWSアップデート (DB縛り) in 第18回 JAWS-UG 東京 勉強会
AWSアップデート (DB縛り) in 第18回 JAWS-UG 東京 勉強会Yasuhiro Horiuchi
 
AWS サービスアップデートまとめ 2014年3月
AWS サービスアップデートまとめ 2014年3月AWS サービスアップデートまとめ 2014年3月
AWS サービスアップデートまとめ 2014年3月Yasuhiro Horiuchi
 
AWS サービスアップデートまとめ 2013年9月
AWS サービスアップデートまとめ 2013年9月AWS サービスアップデートまとめ 2013年9月
AWS サービスアップデートまとめ 2013年9月Yasuhiro Horiuchi
 
AWS サービスアップデートまとめ 2014年5月
AWS サービスアップデートまとめ 2014年5月AWS サービスアップデートまとめ 2014年5月
AWS サービスアップデートまとめ 2014年5月Yasuhiro Horiuchi
 

Viewers also liked (18)

Alternate Grains - Gluten Free Beer
Alternate Grains - Gluten Free BeerAlternate Grains - Gluten Free Beer
Alternate Grains - Gluten Free Beer
 
Hangover Cures for Overzealous Celebrators
Hangover Cures for Overzealous CelebratorsHangover Cures for Overzealous Celebrators
Hangover Cures for Overzealous Celebrators
 
Powerpoint
PowerpointPowerpoint
Powerpoint
 
Beer And Nuts 4 Beer Nuts
Beer And Nuts 4 Beer NutsBeer And Nuts 4 Beer Nuts
Beer And Nuts 4 Beer Nuts
 
Couch db 浅漫游.
Couch db 浅漫游.Couch db 浅漫游.
Couch db 浅漫游.
 
Maths project
Maths projectMaths project
Maths project
 
Lucene
LuceneLucene
Lucene
 
AWSによるソーシャルアプリ運用事例
AWSによるソーシャルアプリ運用事例AWSによるソーシャルアプリ運用事例
AWSによるソーシャルアプリ運用事例
 
ゲームインフラと解析基盤 そのものの考え方を変えるAWS
ゲームインフラと解析基盤 そのものの考え方を変えるAWSゲームインフラと解析基盤 そのものの考え方を変えるAWS
ゲームインフラと解析基盤 そのものの考え方を変えるAWS
 
AWSアップデート (DB縛り) in 第18回 JAWS-UG 東京 勉強会
AWSアップデート (DB縛り) in 第18回 JAWS-UG 東京 勉強会AWSアップデート (DB縛り) in 第18回 JAWS-UG 東京 勉強会
AWSアップデート (DB縛り) in 第18回 JAWS-UG 東京 勉強会
 
Adorn Mineral Cosmetics CSR Case Study
Adorn Mineral Cosmetics CSR Case StudyAdorn Mineral Cosmetics CSR Case Study
Adorn Mineral Cosmetics CSR Case Study
 
AWS サービスアップデートまとめ 2014年3月
AWS サービスアップデートまとめ 2014年3月AWS サービスアップデートまとめ 2014年3月
AWS サービスアップデートまとめ 2014年3月
 
AWS サービスアップデートまとめ 2013年9月
AWS サービスアップデートまとめ 2013年9月AWS サービスアップデートまとめ 2013年9月
AWS サービスアップデートまとめ 2013年9月
 
AWS サービスアップデートまとめ 2014年5月
AWS サービスアップデートまとめ 2014年5月AWS サービスアップデートまとめ 2014年5月
AWS サービスアップデートまとめ 2014年5月
 
Ppt
PptPpt
Ppt
 
Leai Investor Deck
Leai Investor DeckLeai Investor Deck
Leai Investor Deck
 
LEAI Investor Deck
LEAI Investor DeckLEAI Investor Deck
LEAI Investor Deck
 
Grne investor deck
Grne investor deckGrne investor deck
Grne investor deck
 

Similar to 前端杂乱分享

YUI介绍和使用YUI构建web应用
YUI介绍和使用YUI构建web应用YUI介绍和使用YUI构建web应用
YUI介绍和使用YUI构建web应用Adam Lu
 
YUIconf2010介绍
YUIconf2010介绍YUIconf2010介绍
YUIconf2010介绍ling yu
 
OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发leneli
 
Dev camps Windows Store App 市集應用程式最佳實踐
Dev camps   Windows Store App 市集應用程式最佳實踐Dev camps   Windows Store App 市集應用程式最佳實踐
Dev camps Windows Store App 市集應用程式最佳實踐Meng-Ru (Raymond) Tsai
 
从零开始做首页
从零开始做首页从零开始做首页
从零开始做首页fangdeng
 
由一个简单的程序谈起――之二
由一个简单的程序谈起――之二由一个简单的程序谈起――之二
由一个简单的程序谈起――之二yiditushe
 
富文本编辑器在互联网上的应用
富文本编辑器在互联网上的应用富文本编辑器在互联网上的应用
富文本编辑器在互联网上的应用luolonghao
 
Jquery插件easy ui属性汇总
Jquery插件easy ui属性汇总Jquery插件easy ui属性汇总
Jquery插件easy ui属性汇总1100122566
 
JQuery Mobile 框架介紹與使用
JQuery Mobile 框架介紹與使用JQuery Mobile 框架介紹與使用
JQuery Mobile 框架介紹與使用EZoApp
 
张所勇:前端开发工具推荐
张所勇:前端开发工具推荐张所勇:前端开发工具推荐
张所勇:前端开发工具推荐zhangsuoyong
 
Yui3 初探
Yui3 初探Yui3 初探
Yui3 初探isnull
 
Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程yiditushe
 
Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程appollo0312
 
前端杂谈
前端杂谈前端杂谈
前端杂谈salinet
 
如何利用 www.webpagetest.org 進行網頁效能分析與改進建議 (真實案例)
如何利用 www.webpagetest.org 進行網頁效能分析與改進建議 (真實案例)如何利用 www.webpagetest.org 進行網頁效能分析與改進建議 (真實案例)
如何利用 www.webpagetest.org 進行網頁效能分析與改進建議 (真實案例)Cyril Wang
 
D2-ETao-show
D2-ETao-showD2-ETao-show
D2-ETao-showleneli
 
Debugging - 前端工程開發實務訓練
 Debugging - 前端工程開發實務訓練 Debugging - 前端工程開發實務訓練
Debugging - 前端工程開發實務訓練Joseph Chiang
 
常用Js框架比较
常用Js框架比较常用Js框架比较
常用Js框架比较Adam Lu
 

Similar to 前端杂乱分享 (20)

YUI介绍和使用YUI构建web应用
YUI介绍和使用YUI构建web应用YUI介绍和使用YUI构建web应用
YUI介绍和使用YUI构建web应用
 
YUIconf2010介绍
YUIconf2010介绍YUIconf2010介绍
YUIconf2010介绍
 
YUI 3 菜鳥救星
YUI 3 菜鳥救星YUI 3 菜鳥救星
YUI 3 菜鳥救星
 
OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发
 
Dev camps Windows Store App 市集應用程式最佳實踐
Dev camps   Windows Store App 市集應用程式最佳實踐Dev camps   Windows Store App 市集應用程式最佳實踐
Dev camps Windows Store App 市集應用程式最佳實踐
 
从零开始做首页
从零开始做首页从零开始做首页
从零开始做首页
 
由一个简单的程序谈起――之二
由一个简单的程序谈起――之二由一个简单的程序谈起――之二
由一个简单的程序谈起――之二
 
富文本编辑器在互联网上的应用
富文本编辑器在互联网上的应用富文本编辑器在互联网上的应用
富文本编辑器在互联网上的应用
 
Jquery插件easy ui属性汇总
Jquery插件easy ui属性汇总Jquery插件easy ui属性汇总
Jquery插件easy ui属性汇总
 
JQuery Mobile 框架介紹與使用
JQuery Mobile 框架介紹與使用JQuery Mobile 框架介紹與使用
JQuery Mobile 框架介紹與使用
 
张所勇:前端开发工具推荐
张所勇:前端开发工具推荐张所勇:前端开发工具推荐
张所勇:前端开发工具推荐
 
Yui3 初探
Yui3 初探Yui3 初探
Yui3 初探
 
jQuery入門
jQuery入門jQuery入門
jQuery入門
 
Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程
 
Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程
 
前端杂谈
前端杂谈前端杂谈
前端杂谈
 
如何利用 www.webpagetest.org 進行網頁效能分析與改進建議 (真實案例)
如何利用 www.webpagetest.org 進行網頁效能分析與改進建議 (真實案例)如何利用 www.webpagetest.org 進行網頁效能分析與改進建議 (真實案例)
如何利用 www.webpagetest.org 進行網頁效能分析與改進建議 (真實案例)
 
D2-ETao-show
D2-ETao-showD2-ETao-show
D2-ETao-show
 
Debugging - 前端工程開發實務訓練
 Debugging - 前端工程開發實務訓練 Debugging - 前端工程開發實務訓練
Debugging - 前端工程開發實務訓練
 
常用Js框架比较
常用Js框架比较常用Js框架比较
常用Js框架比较
 

前端杂乱分享