`

YUI源码阅读心得 YAHOO.js 小技巧

    博客分类:
  • YUI
阅读更多

 阅读YUI2.8.1 版本上
 1,将变量转换为字符串的办法。
  var a=" "+a;  js提供了一系列的自动转换变量类型的方法。

 


  2,if(a==null){
     a={};
   }这样的代码可以简化为 a=a||{};
 
   var s;
   if(a!==null){
     s=a.property;
   }这样的代码可以简化为 s=a&&a.property;

 

 


  3,环境检测代码
    ie;opear;Gecko(firefox);webkit(Safari);mobile;air;caja;secure(ssl);os(操作系统也检测。。。);   
   secure的查询只是检测window.localtion.href有无https状况。   
   大部分检测代码从navigator.userAgent里面出来,通过字符串来进行判断


  4,YUI的继承使用的是prototype的方法继承。
   进行覆盖方法的时候,要注意valueOf和toString 这两个方法。
  因为动态属性的优先级是高于原型优先级的。所以进行继承覆盖方法的时候,需要检测这两个方法。
  
 调用了valueOf跟toString,二者并存的情况下,在数值运算中,优先调用了valueOf,字符串运算中,优先调用了toString。

 

 

 

分享到:
评论
4 楼 every_best 2010-10-27  
clue 写道
every_best 写道
clue 写道
第2点,不太明白。。。除非主动在循环中给i赋值,否则i的值怎么会变动呢?
自动变换类型也只是在其它表达式中运行的时候做,对原本的值没任何影响

如果在for循环中 对i值进行了操作,改变为了字符串类型。那i++这样的方式会报错或计算错误吧。
使用i=i+1是保证在循环中i的值能保持为数值类型。

如果被改变了,那证明程序写得有问题。
另外,如果i不是数字,i++运算会先将它转为数字再进行运算,值可能为NaN,不会出错(IE和FF下测试过)
相反,如果i为字符串,i=i+1会形成"*1"这样的字符串(字符串连接)

  是我理解错误了,不严谨了。修正,修正。多谢~
 
3 楼 clue 2010-10-27  
every_best 写道
clue 写道
第2点,不太明白。。。除非主动在循环中给i赋值,否则i的值怎么会变动呢?
自动变换类型也只是在其它表达式中运行的时候做,对原本的值没任何影响

如果在for循环中 对i值进行了操作,改变为了字符串类型。那i++这样的方式会报错或计算错误吧。
使用i=i+1是保证在循环中i的值能保持为数值类型。

如果被改变了,那证明程序写得有问题。
另外,如果i不是数字,i++运算会先将它转为数字再进行运算,值可能为NaN,不会出错(IE和FF下测试过)
相反,如果i为字符串,i=i+1会形成"*1"这样的字符串(字符串连接)
2 楼 every_best 2010-10-27  
clue 写道
第2点,不太明白。。。除非主动在循环中给i赋值,否则i的值怎么会变动呢?
自动变换类型也只是在其它表达式中运行的时候做,对原本的值没任何影响

如果在for循环中 对i值进行了操作,改变为了字符串类型。那i++这样的方式会报错或计算错误吧。
使用i=i+1是保证在循环中i的值能保持为数值类型。
1 楼 clue 2010-10-26  
第2点,不太明白。。。除非主动在循环中给i赋值,否则i的值怎么会变动呢?
自动变换类型也只是在其它表达式中运行的时候做,对原本的值没任何影响

相关推荐

    Yahoo.Yui.Compressor.dll

    Yahoo.Yui.Compressor.dll文件下载,解决找不到Yahoo.Yui.Compressor.dll的问题 Yahoo.Yui.Compressor.dll控件常规安装方法(仅供参考): 一、如果在运行某软件或编译程序时提示缺少、找不到Yahoo.Yui....

    Yahoo JavaScript库 YUI源码

    **Yahoo JavaScript库 YUI源码详解** Yahoo User Interface (YUI) 是Yahoo公司推出的一款强大的JavaScript库,旨在帮助开发者构建高性能、可维护的Web应用程序。作为一款免费且开源的工具,YUI为开发者提供了丰富的...

    yuicompressor-2.4.8.jar

    yuicompressor-2.4.2.jar yuicompressor-2.4.7.jar jsZip.exe yuicompressor yui compressor js压缩工具 javascript压缩工具 css压缩工具 ------------------------------------ //压缩JS java -jar yuicompressor-...

    grunt-yui-compressor-源码.rar

    《grunt-yui-compressor:JavaScript与CSS压缩利器的源码解析》 在Web开发中,优化资源加载速度是提升用户体验的重要一环。压缩JavaScript和CSS文件可以显著减少页面加载时间,"grunt-yui-compressor"就是一个这样...

    YUI compressor源码jar包

    YUI Compressor 是一个由雅虎(Yahoo!)开发的开源工具,主要用于JavaScript和CSS文件的压缩与优化。这款工具通过删除空格、注释以及简化代码来减小文件大小,从而提升网页加载速度,节省用户带宽,提高网站性能。在...

    yuicompressor-yui compressor

    雅虎推出的一款javascript压缩工具。有JAVA版本和.NET版本。 yuicompressor-2.4.2.jar yuicompressor-2.4.7.jar jsZip.exe yuicompressor yui compressor js压缩工具 javascript压缩工具 css压缩工具 ----------...

    Python库 | ore.yui-0.4.1.tar.gz

    在本文中,我们将深入探讨名为"ore.yui"的Python库,特别是其0.4.1版本,该库被打包为"ore.yui-0.4.1.tar.gz"文件。 "ore.yui"库很可能是一个开源项目,因为大多数Python库都会遵循开放源代码的精神,允许开发者...

    Yahoo YUI 资料

    Yahoo YUI(Yahoo User Interface Library)是Yahoo公司推出的一个开源JavaScript库,主要用于构建富互联网应用程序(Rich Internet Applications,RIA)。YUI提供了丰富的组件和工具,帮助开发者轻松实现页面布局、...

    yuicompressor-2.4.8.zip js、css注释清理及压缩工具

    `yuicompressor-2.4.8.zip` 是一个前端开发中常用的工具,主要功能是对JavaScript和CSS文件进行注释清理和代码压缩,从而优化网页加载速度,提高用户体验。这个压缩工具出自YUI(Yahoo! User Interface Library)...

    基于java的开发源码-JSCSS压缩工具 YUI Compressor.zip

    基于java的开发源码-JSCSS压缩工具 YUI Compressor.zip 基于java的开发源码-JSCSS压缩工具 YUI Compressor.zip 基于java的开发源码-JSCSS压缩工具 YUI Compressor.zip 基于java的开发源码-JSCSS压缩工具 YUI ...

    yuicompressor安装文件

    YUICompressor是一款由Yahoo开发的高效JavaScript和CSS压缩工具。它通过删除空格、换行符以及不必要的字符,有效地减小了JavaScript和CSS文件的大小,从而提高了网页的加载速度,优化了用户体验。在网页性能优化领域...

    yui3-master.zip

    通过“yui3-master.zip”这个压缩包,开发者不仅可以了解到YUI3的基本架构,还可以通过阅读源码来学习和掌握JavaScript的最佳实践,提升自身的前端开发能力。无论是初学者还是经验丰富的开发者,都能从中受益匪浅。...

    yui_js压缩min_yui_压缩工具_nan_

    YUI Compressor是雅虎(Yahoo!)开发的一款开源JavaScript和CSS压缩工具,其主要功能是去除代码中的空格、换行和注释,同时还能进行变量名混淆,进一步减小文件大小。YUI Compressor的版本号为2.4.8,这表明它已经...

    JS/CSS压缩器基于Yahoo.Yui.Compressor引擎

    Yahoo.Yui.Compressor引擎是目前最稳定的压缩引擎出自于雅虎。 但是雅虎仅提供java版的很是不方便。 由于经常需要压缩JS所以本人开发了这个绿色小工具(单文件)奉献给大家。 如果建议可以留言

    YUI 读码日记之 YAHOO.lang.is*

    在 YUI 框架中,`YAHOO.lang.is*` 系列函数是用于检测 JavaScript 变量类型的工具,这些工具对于确保代码的健壮性和可维护性至关重要。YUI 的 `YAHOO.lang` 模块提供了一系列方法,如 `isArray`, `isBoolean`, `is...

    小程序 JSCSS压缩工具 YUI Compressor(源码).zip

    免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...

    YUI.rar_compressor_js 混淆_lienae_yui

    **YUI Compressor** 是一个开源的JavaScript和CSS压缩工具,由Yahoo开发并维护,它在Web开发领域中被广泛使用。这个名为“YUI.rar_compressor_js 混淆_lienae_yui”的压缩包包含了与YUI Compressor相关的各种组件和...

Global site tag (gtag.js) - Google Analytics