Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
RubyLouvre committed Apr 21, 2013
1 parent 2fad9d2 commit be1df3c
Show file tree
Hide file tree
Showing 3 changed files with 131 additions and 107 deletions.
30 changes: 21 additions & 9 deletions mass.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,6 @@
* @param {Node|NodeList|Array|Mass} context ? 上下文对象
* @return {Mass}
*/
function sliceArgs(nodes, start, end) {
return parsings.slice.call(nodes, start, end);
}
function $(expr, context) { //新版本的基石
if (typeof expr === "function" && expr.call) { //注意在safari下,typeof nodeList的类型为function,因此必须使用$.type
return $.require(all + ",ready", expr);
Expand Down Expand Up @@ -66,7 +63,7 @@
*/

function mix(receiver, supplier) {
var args = sliceArgs(arguments),
var args = [].slice.call(arguments),
i = 1,
key, //如果最后参数是布尔,判定是否覆写同名属性
ride = typeof args[args.length - 1] === "boolean" ? args.pop() : true;
Expand Down Expand Up @@ -104,13 +101,28 @@
* @return {Array}
* @api public
*/
slice: W3C ? sliceArgs : function(nodes, start, end) {
slice: W3C ? function(nodes, start, end) {
return parsings.slice.call(nodes, start, end);
} : function(nodes, start, end) {
var ret = [],
n = nodes.length;
while (n--) {
ret[n] = nodes[n];
if (end === void 0 || typeof end === "number" && isFinite(end)) {
start = parseInt(start, 10) || 0;
end = end == void 0 ? n : parseInt(end, 10);
if (start < 0) {
start += n;
}
if (end > n) {
end = n;
}
if (end < 0) {
end += n;
}
for (var i = start; i < end; ++i) {
ret[i - start] = nodes[i];
}
}
return sliceArgs[ret, start, end];
return ret;
},
/**
* 用于建立一个从元素到数据的关联,应用于事件绑定,元素去重
Expand Down Expand Up @@ -591,7 +603,7 @@
* @api public
*/
window.define = $.define = function(id, deps, factory) { //模块名,依赖列表,模块本身
var args = sliceArgs(arguments);
var args = $.slice(arguments);
if (typeof id === "string") {
var _id = args.shift();
}
Expand Down
32 changes: 22 additions & 10 deletions mass_merge.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,6 @@
var serialize = class2type.toString,
basepath, kernel;

function sliceArgs(nodes, start, end) {
return parsings.slice.call(nodes, start, end);
}
function $(expr, context) { //新版本的基石
if (typeof expr === "function" && expr.call) { //注意在safari下,typeof nodeList的类型为function,因此必须使用$.type
return $.require(all + ",ready", expr);
Expand All @@ -54,7 +51,7 @@


function mix(receiver, supplier) {
var args = sliceArgs(arguments),
var args = [].slice.call(arguments),
i = 1,
key, //如果最后参数是布尔,判定是否覆写同名属性
ride = typeof args[args.length - 1] === "boolean" ? args.pop() : true;
Expand Down Expand Up @@ -85,13 +82,28 @@
//大家都爱用类库的名字储存版本号,我也跟风了
"@bind": W3C ? "addEventListener" : "attachEvent",

slice: W3C ? sliceArgs : function(nodes, start, end) {
slice: W3C ? function(nodes, start, end) {
return parsings.slice.call(nodes, start, end);
} : function(nodes, start, end) {
var ret = [],
n = nodes.length;
while (n--) {
ret[n] = nodes[n];
if (end === void 0 || typeof end === "number" && isFinite(end)) {
start = parseInt(start, 10) || 0;
end = end == void 0 ? n : parseInt(end, 10);
if (start < 0) {
start += n;
}
if (end > n) {
end = n;
}
if (end < 0) {
end += n;
}
for (var i = start; i < end; ++i) {
ret[i - start] = nodes[i];
}
}
return sliceArgs[ret, start, end];
return ret;
},

getUid: W3C ? function(obj) { //IE9+,标准浏览器
Expand Down Expand Up @@ -250,7 +262,7 @@
}
};

"Boolean,Number,String,Function,Array,Date,RegExp,Window,Document,Arguments,NodeList,Error".replace($.rword, function(name) {
"Boolean,Number,String,Function,Array,Date,RegExp,Window,Document,Arguments,NodeList".replace($.rword, function(name) {
class2type["[object " + name + "]"] = name;
});
//============================加载系统===========================
Expand Down Expand Up @@ -484,7 +496,7 @@


window.define = $.define = function(id, deps, factory) { //模块名,依赖列表,模块本身
var args = sliceArgs(arguments);
var args = $.slice(arguments);
if (typeof id === "string") {
var _id = args.shift();
}
Expand Down
Loading

0 comments on commit be1df3c

Please sign in to comment.