YUI3新特性学习(2)
来源:陈漫凯的分享 发布时间:2012-04-26 16:25:20
颗粒化模块
YUI2.x每个模块庞大的体积让不少人望而兴叹。比如有时候要使用日历里面的基础功能,你不得不把整个日历组件导人,整整75K的代码,你实际用到的仅仅是基础功能,这也是很多公司没有使用YUI的原因之一。YUI3.x做了大调整,对每个模块都进行了更细颗粒度的划分。比如,DOM模块,划分为了base, screen, style, selector-css2, selector-css3, selector-native等几个小模块,这样,我们可以根据需要选择所需的模块,对于我们控制页面的载入的数据量有很大帮助。
但更细的划分模块,带来的弊端就是,代码文件增多,维护成本变大。
选择器(Selector)
YUI2.9就已经引入了选择器引擎,但由于它在整个YUI2.x中出现得比较晚,所以,在很多基于旧版本的YUI项目中,还是用传统的元素匹配技术。
而在YUI3.x中,选择器已经成为了一种标准支持。
|
|
如果需要用到css选择器,需要把selector-css2.js和selector-css3.js引入。但从性能的角度上讲,我还是觉得没有必要去用那么复杂的选择器。
链式调用
跟jQuery一样,YUI3.x也开始支持链式调用,对于一些没有逻辑返回值的方法,YUI3.x都支持链式调用。
|
|
链式调用并非YUI3.x的主打亮点,但的确带来了书写的便利性,但同时,对于向来严谨的YUI,链式一定程度上会带坏现有代码风格。使用YUI开发的人,至少要在链式调用使用程度上达到一定的共识。
Nodes
由于各个浏览器对DOM标准的支持不同,YUI Node对底层的DOM节点进行封装,并强化其功能,为创建、操作和获取DOM节点对象(集合)提供了丰富的方法。封装后的YUI Node和浏览器HTMLElement对象对比:
封装后,获取到的不在是一个浏览器DOM对象,所以对YUI Node对象的熟悉的访问和修改,必须通过getter和setter来操作。
|
|
小结
正如我们所看到的,YUI3.x相对于早前版本,完全是一个新的产物。通过新的语法,我们使用到的是,更轻量,更易用,更快捷的库。YUI2.x是一种工具集,而YUI3.x更像是一种架构,框架或者说解决方案。


猜你喜欢
- 二进制包方式安装一、首先检查服务器上是否安装有mysql:第一步:查看mysql安装版本rpm -qa|grep -i mysql第二步:卸
- 产生跨域问题的原因跨域问题是浏览器同源策略限制,当前域名的js只能读取同域下的窗口属性。跨域问题产生的场景当要在在页面中使用js获取其他网站
- 一、源码安装首先安装开发工具包yum groupinstall -y "Development tools"安装依赖软件
- 前言在做数据报表时,需要对某一时间段分组,以1小时为时间间隔统计各项数据,如9点-10点,10点-11点…,但是现在有种情况,时间有可能不是
- 有关itchat接口的知识,小编是初步学习,这里先给大家分享一段代码用法示例。sudo pip3 install itchat今天用了下it
- 如下所示:def is_chinese(uchar): """判断一个unicode是否是汉字"&q
- 今天很有可能你已经做了一些使用滑动窗口(也称为移动窗口)的事情,而你甚至不知道它。例如:许多编辑算法都是基于移动窗口的。在GIS中做地形分析
- 有台服务器,访问量挺大,每天近250w动态pv,数据库查询平均每秒近600次 另一台服务器,跑的程序跟这台一样,不过只有每天约40w动态pv
- 有时候我们可能需要import另一个路径下的python文件,例如下面这个目录结构,我们想要在_train.py里import在networ
- 突然想到一个视频里面弹幕被和谐的一满屏的*号觉得很有趣,然后就想用python来试试写写看,结果还真玩出了点效果,思路是首先你得有一个脏话存
- 接口(python 中的协议)的多种不同的实现方式即为多态。多态的作用,就是为了类在继承和派生的时候,保证使用“家谱”中任一类的实例的某一属
- 首先给大家介绍ThinkPHP函数详解:M方法M方法用于实例化一个基础模型类,和D方法的区别在于:1、不需要自定义模型类,减少IO加载,性能
- 多层索引的创建普通-多个index创建在创建数据的时候加入一个index列表,这个index列表里面是多个索引列表Series多层索引的创建
- 本文主要研究的是Python机器学习logistic回归的相关内容,同时介绍了一些机器学习中的概念,具体如下。Logistic回归的主要目的
- 我以centos 4.4 下面的mysql 5.0.33 手工编译版本为例说明:vi /usr/local/mysql/bin/m
- 我们目前已经学会了四个控件,也编出了几个窗口实例,它们都有一个共同的特点,就是丑,主要原因是没有进行合理地布局。此前的布局方式简单粗暴,即明
- 创建SQL存储过程需要使用到的语法- 创建存储过程CREATE 存储过程的名称(参数)BEGIN...需要执行的SQL语句END- 调用CA
- OK,首先写一个python socket的server段,对开放三个端口:10000,10001,10002.krondo的例子中是每个s
- PIL图片如何按比例裁剪问题描述如图片比例为 1:1 裁剪为 4:31.jpg解决方案from PIL import Imagedef im
- 这一部分我们将探索 PyQt5 的事件和信号是如何在应用程序中实现的。Events事件所有的GUI应用程序都是事件驱动的。应用程序事件主要产