YUI 3 学习笔记:dom

 

YUI Dom 模块的层次结构很清楚:
yui-dom.png 
展开的详细图:yui-dom-full.png

一点心得
  1. 很清晰的 submodules 组织方式,各个子模块分工明确,源码明朗如皓月,看得心里很晴天。
  2. selector-css3 采用的是 plugin 方式,在 selector-css2 里预留了扩展接口,css3 里直接扩充伪类和操作符。这种可扩展写法在细节代码里也被多次用到,比如针对 IE 的某些兼容代码的写法。代码独立,可增可砍,很 cute.
  3. 小颗粒的灵活也是有代价的。各个 submodules 之间,有些许重复代码。值还是不值,很难评说。
  4. 三元运算符是个好东西:
    getText: (document.documentElement.textContent !== undefined) ?
    function(element) {
    var ret = '';
    if (element) {
    ret = element.textContent;
    }
    return ret || '';
    } : function(element) {
    var ret = '';
    if (element) {
    ret = element.innerText;
    }
    return ret || '';
    }

    在不同的浏览器下,getText 指向不同的函数,而且三元运算符中的判断只需执行一次。
    类似还有一种写法:

    _childrenByTag: function() {
    if (document[DOCUMENT_ELEMENT].children) {
    return function(element, tag, fn, toArray) {
    ...
    };
    } else {
    return function(element, tag, fn) {
    ...
    };
    }
    }()

    返回函数的函数挺好用。

  5. 看源码前,会尝试回答一个问题:如何我来设计 DOM 的 API, 会画出怎样一副图来?最后将自己设计的 API 和 YUI3 的对照,我的设计里,功能比较全,但层次分类和清晰度上,YUI3 的明显好很多。从总体上比较和学习 API 的设计,别有一番迷人的天地。
  6. 这次看代码,没怎么深究到代码细节。一直提醒自己从大局上去看。舍得舍得,有所舍才有所得,的确如此。

 

http://blog.csdn.net/phphot/category/319680.aspx

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值