zoukankan      html  css  js  c++  java
  • YUI3 学习笔记(1) 

     YUI3的beta版发布了,正式开始进行YUI3的学习吧,哈.

     看了YUI3的官方说明页,第一印象就是YUI3和jquery有点像了.比如不再像之前那样用YAHOO.util.Event.on("test","click",function(){},null,this);的形式,而改用Y.get("#test").on("click",function(){})了.因为有jquery的基础,所以对于这个过渡还是非常轻易地能适应的.

     从今天开始,对具体的类,做一个自己学习的笔记.因为有官方的文档,所以我只说明下官方文档中没有说得太清楚的地方,算是对官方文档的一个补充说明.

     先说下核心类,也就是seed中的api.

       [Array类]

     <1>.each()方法终于有了.官方的api文档中说明了它可以接受三个参数,却没有详细说明.我详解下.

     .each()方法的第一个参数是数组类型.第二个参数是回调函数,会传入三个参数进去,第一个是"值",第二个是"键",第三个是第一个参数本身.第三个参数是用做回调函数上下文的,也就是回调函数的this指向.

     <2>.some()方法和.each()方法很相似,不同的是.some()的返回值类型不为YUI对象,而是布尔值,并且,当回调函数返回true,就不再继续往下执行了. 

     [Lang类]

    <1>.type()方法.还没有找到YUI2.xxx的dump方法,但意外的发现了个很好用的方法.type(),不像原生js的typeof一样对于复杂类型一律给object,也不像instanceof一样,需要自己去猜,直接就会返回给你它是什么类型,比如数组会返回array而不是object.不过,还不够强大,比如自定义类生成的对象就没办法返回类名,只会给object.自定义类的类型判断,还是只好求助instanceof了.

     [Object类]

    <1>提供了.size()方法,终于让对象类型有了一个length了,但对象类型没法用数字索引,所以.size()方法好看,并不一定特别实用.遍历的话,还是使用.each()方法吧.

     [其它]

    < 1 > 值得一提的是,.each()方法,在Array类中有,在Object类中也有,可以用Y.Array.each();和Y.Object.each();其实也可以直接用Y.each();更灵活.

    < 2 > .bind()方法。这个方法在官方的api文档里没有写出来。它接受三个参数,第一个是函数,第二个是函数的上下文对象,第“三”个是传给函数的参数(第三个开始,往后全是传入函数的参数)。这个方法可以用效地改变函数上下文,也就是this指针指向。其原理是将原生.call()方法进行了封装。

  • 相关阅读:
    ASP.NET Eval 求值运算的一些用法
    SQLSERVER中统计所有表的记录数
    一份很全的路由器默认初始密码集合
    将DataTable导出为excel
    如何强制修改mysql的root密码(mysql忘记密码)
    資料庫的安全(備份/回存)(console)
    ffserver和ffmpeg配合完成的实时流媒体服务
    mssql里sp_MSforeachtable和sp_MSforeachdb的用法
    ASP.NET中GridView中嵌套GridView
    How to update multiple columns of one table using values from another table?
  • 原文地址:https://www.cnblogs.com/cly84920/p/4426987.html
Copyright © 2011-2022 走看看