YUI3新特性学习
来源:陈漫凯的分享 发布时间:2012-04-26 16:25:20
更轻量
- 出色的颗粒化模块,子模块划分;
- 延迟加载;
- 强调代码重用(公共基类、插件、扩展);
更易用
- 统一的API;
- 便利(each, bind, queue, 支持链式);
更快捷
- 重构node, event, selector等,解决很多核心痛点;
- 依赖性处理;
Hello YUI
初识YUI3.x,最先发现的一个变化就是,原先YAHOO的命名空间被改为YUI,这样命名的修改,就不用在为了使用这个开源的框架而非要搞得代码里到处都是YAHOO公司的名字,但更好的一点是,可以借助不同的变量名让YUI3和旧版的YUI共存而不至于冲突。
沙箱(Sandboxing)
这是YUI3.x的一个显著特点,它可以在页面中创建一个多重开发环境。每一个YUI实例会自包含的,保护和限制。
|
|
在这里,YUI()执行并返回一个use方法执行后的库的实例。use方法至少有两个参数是必须,库组件名称和加载完毕后执行的回调函数。 上面的例子中,会加载名字为’node’和’event’的库组件,最后一个参数是回调函数,YUI()执行后的包含所加载的库组件的实例会以参数Y传给这个回调函数。
相对于YUI2.x的只有YAHOO一个全局变量,沙箱的这种多重开发环境的好处还是很明显的。
|
|
如上,在YUI2.x中,YAHOO作为全局变量,多人开发的时候,将会出现B的代码覆盖A代码的情况,而且这种情况不是使用闭包所能解决的。而YUI3.x的沙箱,提供每个实例可独立开发:
|
|
沙箱使得代码更安全,而且,每一个实例的YUI3.x版本不同也没有关系。
YUI().use()的另外一个特点是每个实例的依赖,可以按需加载。这样不但可以节省带宽,而且也使得更加力度的颗粒化模块变得更有意义。而且,加载的所依赖的js文件是延迟加载的,加快了页面渲染的速度。
测试显示,延迟加载使得页面在更短的时间内渲染完成。
但同时,因为依赖进来的包,都是独立的文件,每引入一个文件,就创建一个<script>标签去请求js文件,这样大大的增加了HTTP请求的数量。
猜你喜欢
- 本文实例为大家分享了python实现固定尺寸图像拼接,供大家参考,具体内容如下讲解1、代码效果:固定尺寸图像拼接代码import osimp
- 我们有时候希望回车键敲在文本框(input element)里来提交表单(form),但有时候又不希望如此。比如搜索行为,希望输入完关键词之
- 一.查看数据库时区show variables like'%time_zone';mysql> show variab
- 在项目中遇到了个json数据需要解析,利用Python脚本尝试分享给大家如下:import osimport pandas as pdimp
- 数组是一种有序的集合,可随时添加、删除其中的元素book = ['xiao zhu pei qi','xiao ji
- Requests 继承了urllib2的所有特性。Requests支持HTTP连接保持和连接池,支持使用cookie保持会话,支持
- 目录前言1 异常类型1.1 Python内置异常1.2 requests模块的相关异常1.3 用户自定义异常2. 异常捕获2.1&
- 虽然以前我写过IE6、IE7、IE8共存的解决方案,但是看到IETester这个软件以后那些都已经没有意义了(那些办法副作用比较大,而且实现
- Python语言有一种独特的推导式语法,相当于语法糖的存在,可以帮助你在某些场合写出较为精简酷炫的代码。但没有它,也不会有太多影响。Pyth
- 在学习python的时候,被推荐了使用PyCharm这款IDE,但是在import包的时候却发生了问题- -无法引入,但是明明通过了pip进
- 1、准备数据以下操作将在该表中进行create table student ( id int unsigned primary key au
- 在Linux系统下获取USB PID&VID是件十分容易的事情,只需要"lsusb"命令就可以了。不过,对于Wi
- 当你提交一个查询的时候,MySQL会分析它,看是否可以做一些优化使处理该查询的速度更快。这一部分将介绍查询优化器是如何工作的。如果你想知道M
- PHP html_entity_decode() 函数实例把 HTML 实体转换为字符:<?php $str = "&
- 前言本文主要给大家介绍了关于python3 smtplib通过qq邮箱发送邮件的相关内容, smtplib模块是smtp简单邮件传输协议客户
- 例如:select (a+b) as c from 表 类型也一致都是varchar型的,可就是显示不正确。 直到concat() MySQ
- 最近用到Python自动发送邮件,主要就是三步,登录邮件、写邮件内容、发送,用到的库是 smtplib 和 email,直接使用pip安装即
- session_unset() 释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应的sessio
- 学用python也有3个多月了,用得最多的还是各类爬虫脚本:写过抓代理本机验证的脚本,写过在discuz论坛中自动登录自动发贴的脚本,写过自
- 前言在企业实际应用中,成熟的业务通常数据量都比较大,而单台MySQL服务器在安全性、高可用性和高并发方面都无法满足实际的需求,我们可以在多台