Cheshirecat

2 干净的,温暖的

@during:09/12/15-09/12/30:version:3.0:source:build/*/*.js:module:core

/**
FILE: YUI.JS
LINE: 120-124,682-686
TAG: NONE
COMMENTS:for in 与hasOwnProperty在Y.Object中分别对应hasKey和owns方法,根据MDC的解释,与in操作符不同的是hasOwnProperty并不会去检查in对象的原型链,但是for in 函数只会遍历用户定义的属性(显式),在yui.js中,下面出现的代码片段中作为循环用.
MDC参考:https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object/hasOwnProperty
::CODE START::
var o = {};
console.log(‘toString’ in o);
console.log(o.hasOwnProperty(‘toString’));
console.log(‘length’ in o);
for (var i in o) {
console.log(i);
};
::CODE END::
*/

for (j in m) {
    if (m.hasOwnProperty(j)) {
        mods[j] = m[j];
    }
};
for (i in p) {
    if (1) { // intenionally ignoring hasOwnProperty check
        YUI[i] = p[i];
    }
}

继续阅读这篇文章 »


@during:09/09/07-09/10/01:version:2.8.0:source:*.debug.js

/**
FILE: YAHOO.DEBUG.JS
MODULE: YAHOO.env.ua
COMMENTS:前增符号和后增符号的区别
e.g. CODE:
var i = 1;
console.log(i++); //print 1
console.log(i); //print 2
*/

var numberfy = function(s) {
    var c = 0;
    return parseFloat(s.replace(/\./g, function() {
        return (c++ == 1) ? '' : '.';
    }));
}

/**
FILE: YAHOO.DEBUG.JS
MODULE: YAHOO.LANG
COMMENTS:NaN的特殊性
e.g. CODE:
console.log(typeof NaN); //print ‘number’
console.log(isFinite(NaN)); //print false
*/

isNumber: function(o) {
    return typeof o === 'number' && isFinite(o);{
}{

继续阅读这篇文章 »