if( typeof(Ten) === "undefined" ){
Ten = {};
Ten.Function = { /*略*/ }
Ten.Array = { /*略*/ }
Ten.Class = { /*略*/ }
Ten.JSONP = new Ten.Class(/*略*/ )
Ten.XHR = new Ten.Class(/*略*/ )
}
//jQuery1.2
var _jQuery = window.jQury , _$ = window.$; //把可能存在同名变量先保存起来
jQury.extend({
noConflict : function(deep) {
window.$ = _$; //这时再放回去
if (deep) //补充 if ( deep && window.jQuery === jQuery )
window.jQury = _jQuery;
return jQury;
}
})
function extend (destination,source){
for (var property in source)
destination[property] = source[property];
return destination;
}
Object.keys = Object.keys || function(obj){
var a = [];
for(a[a.length] in obj);
return a;
}
function mix(target,source){ //如果最后参数是布尔,判定是否覆盖同名属性
var args = [].slice.call(arguments), i = 1, key,
ride = typeof args[args.length - 1] == "boolean" ? args.pop() : true;
if (args.length === 1){ //处理$.mix(hash)的情形
target = !this.window ? this : {};
i = 0;
}
while ((source = args[i++])) {
for (key in source){ //允许对象糅杂,用户保证都是对象
if (ride || !(key in target)) {
target[key] = source[key];
}
}
}
return target;
}
jQuery:makeArray
var makeArray = function(array) {
var ret = [] ;
if(array != null){
var i = array.length;
if(i == null || typeof array === "string" || jQuery.isFunction(array) || array.setInterval)
ret[0] = array;
else
while (i)
ret(--i) = array[i];
}
return ret;
}
$.slice = window.dispatchEvent ? function(nodes,start,end){
return [].slice.call(nodes,start,end);
} : function (nodes,start,end){
var ret = [],
n = nodes.length;
if (end === void 0 || typeof end === "number" && isFinite(end)){
start = parseInt (start,0) || 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 ret;
}
typeof null // => "object"
typeof document.childNodes //=> safari: "function"
typeof document.creatElement('embed') //=> ff3-10 "function"
typeof document.creatElement('object') //=> ff3-10 "function"
typeof document.creatElement('object') //=> ff3-10 "function"
typeof /\d/i //在实现了ecma262v4的浏览器返回"function"
typeof window.alert //ie678 "object"
var iframe = document.creatElement("iframe")
document.body.appendChild(iframe)
xArray = window.frames[window.frames.length - 1].Array;
var arr = new xArray(1,2,3) //=>[1,2,3]
arr instanceof Array ;// false
isNaN("aaa") //=> true
typeof document.all //undefined document.all //HTMLAllCollection [728] (728为元素总数)
typeof new Boolean(1); //=>"object"
typeof new Number(1); //=>"object"
typeof new String("aa"); //=> "object"
function isArray(arr){
return arr instanceof Array;
}
function isArray(arr){
return !!arr && arr.constructor === Array;
}
function isArray(arr) { //prototype.js 1.6
return arr != null && typeof arr === "object" && 'splice' in arr && 'join' in arr;
}
function isArray(arr){// Douglas Crockford(JSON作者,反对原型污染)
return typeof arr.sort == "function"
}
function isArray(array){ //kriszyp
var result = false;
try{
new array.constructor (Math.pow(2,32))
} catch (e){
result = /Array/.test(e.message)
}
return result;
};
function isArray(o){//kangax
try{
Array.prototype.toString.call(o);
return true;
} catch (e) {
}
return false;
}
function isArray(o){ //kangax
if(o && typeof o == 'object' && typeof o.length == 'number' && isFinite(o.length))
{
var _origLength = o.length;
o[o.length] = '__test__';
var _newLength = o.length;
o.length = _origLength;
return _newLength == _origLength + 1;
}
return false
}
function isNaN(obj) {
return obj !== obj
}
function isNull(obj) {
return obj === null;
}
function isUndefined(obj){
return obj === void 0;
}
[object Object] IE6 [object Object] IE7 [object Object] IE8 [object Window] IE9 [object Window] ff3.6 [object Window] opera10 [object DOMWindow] safari 4.04 [object global] chrome5.0
//jQuery2.0纯净数组的判定思路
jQuery.isPlainObject = function(obj){
//首先排除基础类型不为Object的类型,然后是DOM节点与window对象
if(jQuery.type(obj) !== "object" || object.nodeType || jQuery.isWindow(obj)){
return false;
}
//然后回溯它的最近的原型对象是否有isPrototypeOf.
//旧版本的IE一些原生的对象没有暴露constructor、prototype。因此在这里过滤掉
try{
if (obj.constructor && !hasOwn.call(obj.constructor.prototype,"isPrototypeOf")){
return false;
}
} case(e) {
return false;
}
return true;
}
avalon.isPlainObject = function(obj){
return obj && typeof obj === "object" && Object.getPrototypeOf(obj) === Object.prototype
}
//jQuery2.0
function isArrayLike(obj){
var length = obj.length , type = jQuery.type(obj);
if (jQuery.isWindow(obj)){
return false;
}
if (obj.nodeType === 1 && length){
return true
}
return type === "array" || type !== "function" && (length === 0 || typeof length === "number" && length > 0 && (length -1) in obj);
}
// avalonjs
function isArrayLike (obj) {
if (obj && typeof obj === "object"){
var n = obj.length
if (+n === n && !( n % 1) && n >= 0){//检测length是否为非负整数
try{
if ({}.prototypeIsEnumerable.call(obj,'length') === false){
return Array.isArray(obj) || /^\s?function/.test(obj.item || obj.callee)
}
return true;
} catch (e) { //IE的NodeList直接报错
return true;
}
}
}
return false
}
baidu.isDate = function( unknow ) {
return baidu.type(unknow) == "date" && unknow.toString() != 'Invalid Date' && !isNaN(unknow);
};
baidu.isNumber = function( unknow ) {
return baidu.type(unknow) == "number" && isFinite( unknow );
};
//by Diego Perini 2007.10.5
function IEContentLoaded (w, fn) {
var d = w.document, done = false,
// 只执行一次用户的回调函数init()
init = function () {
if (!done) {
done = true;
fn();
}
};
(function () {
try {
// DOM树未创建完之前调用doScroll会抛出错误
d.documentElement.doScroll('left');
} catch (e) {
//延迟再试一次~
setTimeout(arguments.callee, 50);
return;
}
// 没有错误就表示DOM树创建完毕,然后立马执行用户回调
init();
})();
//监听document的加载状态
d.onreadystatechange = function() {
// 如果用户是在domReady之后绑定的函数,就立马执行
if (d.readyState == 'complete') {
d.onreadystatechange = null;
init();
}
};
}
document.write("<script id=__ie_onload defer src=//0 mce_src=http://0></scr"+"ipt>");
script = document.getElementById("__ie_onload");
script.onreadystatechange = function() { //IE即使是死链也能触发事件
if (this.readyState == "complete")
init(); // 指定了defer的script在dom树建完才触发
};
var readyList = [];
mess.ready = function( fn ) {
if ( readyList ) {
fn.push( fn );
} else {
fn();
}
}
var readyFn ,ready = W3C ? "DOMContentLoaded" : "readyStatechange";
function fireReady() {
for (var i = 0 , fn; fn = readyList[i++]) {
fn();
}
readyList = null;
fireReady = $.noop; //惰性函数,防止IE9调用_checkDeps
}
function doScrollCheck() {
try { //IE下通过doScrollCheck检测DOM树是否建设完
html.doScroll("left");
fireReady();
} catch (e){
setTimeout(doScrollCheck);
}
}
//FF3.6前,没有readyState属性
if (!document.readyState){
var readyState = document.readyState = document.body ? "complete" : "loading";
if (document.readyState === "complete") {
fireReady(); //如果在domReay之外加载
} else {
$.bind(document,ready,readyFn = function(){
if(W3C || document.readyState === "complete") {
fireReady();
if(readyState){ //IE下不能该项document.readyState
document.readyState = "complete";
}
}
});
if (html.doScroll){
try {//如果跨域就报错,证明有两个窗口
if (self.eval === parent.eval) {
doScrollCheck();
}
} catch (e) {
doScrollCheck();
}
}
}
}
var window = this,
undefined,
_jQuery = window.jQuery,
_$ = window.$,
//将window存入闭包中的同名变量,方便内部函数调用windows不用太麻烦查找它。
//_jQuery与_$用于以后重写
jQuery = window.jQuery = window.$ = function(selector, context){
//用于返回一个jQuery对象
return new jQuery.fn.init(selector,context);
}
jQuery.extend({
noConflict : function(deep) {
//引入jQuery类库后,闭包外边的window.$与window.jQuery都储存着一个函数
//它是用来生成jQuery对象或在domReady后执行里面的函数
//回顾最上面的代码,在还没有把function赋值给它们时,_jQuery和_$已经被赋值了,因此,它们两的值必然是undefined
//因此,这种放弃控制权的技术很简单,就是用undefined把window.$里边jQuery函数清除掉。
//这时,prototype或mootools的$就被拿走了
window.$ = _$; //相当于window.$ = undefined,如果你有一个叫jQuery的库,也能大方的过渡出去。
//这时,需要给noConflict添加一个布尔值,true
if (deep)
//但我们必须使用一个东西接纳jQuery与jQuey的入口函数
//闭包里边的东西除非被window等宿主引用,否则是不可见的
//因此,我们把闭包里的jQuery return出去,外面用一个变量接纳就可以
window.jQuery = _jQuery; //相当window.jQuery = undefined
return jQuery;
}
})
<script nike="aaa" src="mass.js"></script>
<script>
aaa.log("xxxxxx")
</script>
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有