jquery06 jQuery.extend 给jQuery函数添加、继承 静态方法
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<script>
jQuery.extend({//给jQuery函数添加的静态方法 expando : 生成唯一JQ字符串(内部)
noConflict() : 防止冲突
isReady : DOM是否加载完(内部)
readyWait : 等待多少文件的计数器(内部)
holdReady() : 推迟DOM触发
ready() : 准备DOM触发
isFunction() : 是否为函数
isArray() : 是否为数组
isWindow() : 是否为window
isNumeric() : 是否为数字
type() : 判断数据类型
isPlainObject() : 是否为对象自变量
isEmptyObject() : 是否为空的对象
error() : 抛出异常
parseHTML() : 解析节点
parseJSON() : 解析JSON
parseXML() : 解析XML
noop() : 空函数
globalEval() : 全局解析JS
camelCase() : 转驼峰(内部)
nodeName() : 是否为指定节点名(内部)
each() : 遍历集合
trim() : 去前后空格
makeArray() : 类数组转真数组
inArray() : 数组版indexOf
merge() : 合并数组
grep() : 过滤新数组
map() : 映射新数组
guid : 唯一标识符(内部)
proxy() : 改this指向
access() : 多功能值操作(内部)
now() : 当前时间
swap() : CSS交换(内部) }); jQuery.ready.promise = function(){}; 监测DOM的异步操作(内部) function isArraylike(){} 类似数组的判断(内部)
</script>
</head> <body>
</body>
</html>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<script> var $ = 123;
var jQuery = 456;
js源码里面有 _jQuery = window.jQuery,_$ = window.$,此时_$ = 123,_jQuery=456
</script>
<script src="jquery-203.js"></script>
<script> alert( $.expando );//jQuery20308751509357000222
---------------------------------------------------------------------------------
//$() jQuery() 这2个是jQuery对外提供的接口,其他的库也有$,
var miaov = $.noConflict(true);//miaov就当$来用了
var $ = 123;//要写到下面,写到上面$已经是123,就不能调用noConflict方法了,
miaov(function(){//$(function(){})
alert($);
alert( jQuery );
});
---------------------------------------------------------------------------------
$(function(){});//等dom(标签)加载完就走,<img>标签是先加载标签然后加载图片资源,这个方法等标签dom加载完就走,先于window.onload。dom加载完会触发原生的DOMContentLoaded事件。
/*$(function(){})在init方法中调用的是rootjQuery.ready(function(){})就是$(document).ready(function(){})就是$().ready(function(){})(不同于$.ready(),前者是实例的方法,后者是类的静态方法,方法的实现不一样),
ready: function( fn ) {
jQuery.ready.promise().done( fn );
return this;
},
jQuery.ready.promise()创建了一个延迟对象,等到时机执行fn函数,异步操作,
jQuery.ready.promise()最终都是调的$.ready(),
$.ready()最终走readyList.resolveWith( document, [ jQuery ] );然后触发函数fn执行。
*/ window.onload = function(){//等页面中所有东西都加载完,才走这里
}; ----------------------------------------------------------------------- $(function( arg ){
alert(arg);//jQuery函数
}); $(document).ready(function(){
}); $(document).on('ready',function(){
alert(123);
});
------------------------------------------------------------------
$.holdReady(true);//推迟
$(function( ){
alert(123);//不弹出来
});
$.holdReady(true);//释放推迟
---------------------------------------------------------------------
readyList.resolve(); --------------------------------------------------------------------- $.getScript('a.js',function(){//动态加载js,异步加载,有可能alert(2)先于a.js加载完
});
$(function(){
alert(2);
});
--------------------------------------------------------------------------
$.holdReady(true);
$.getScript('a.js',function(){//动态加载js,异步加载
$.holdReady(false);//a.js加载完后回调函数执行,释放hold,保证先加载a.js,然后弹出alert(2)
});
$(function(){
alert(2);
});
----------------------------------------------------------------------
$.holdReady(true); $.getScript('b.js',function(){
$.holdReady(false);
}); $.holdReady(true); $.getScript('c.js',function(){
$.holdReady(false);
}); --------------------------------------------------------------------- </script>
</head> <body>
<div>aaaaa</div>
<img src="">
</body>
</html>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<script src="jquery-2.0.3.js"></script>
<script> function show(){
}
alert( $.isFunction([]) );
alert( typeof alert );//低版本是object,高版本是function alert( isFunction(alert) );
function isFunction(fn){ //jquery提供的兼容方法 if( !fn )
return false;
var s = "toString",
v = "valueOf",
t = typeof fn[s] === "function" && fn[s],
o = typeof fn[v] === "function" && fn[v],
r;
if( t )
delete fn[s];
if( o )
delete fn[v];
r = typeof fn !== "string" && !(fn instanceof String) && !fn.nodeName && fn.constructor != Array && /^[\s[]?function/.test(fn + "");
if( t )
fn[s] = t;
if( o )
fn[v] = o;
return r; } alert( Array.isArray([]) ); alert( $.isWindow(window) ); alert( null == null );//true
alert(undefined == null);//true var a = 10;
window.a = 10; window.open();//window是浏览器窗口 alert( typeof NaN );//number alert( $.isNumeric(123) ); alert( isFinite( Number.MAX_VALUE + Number.MAX_VALUE ) ); var a = new Date;
alert( typeof a );//原生typeof对于复杂类型都是object,
alert( $.type(a) );//时间:Date,数组:array,'ss':string,{}:object,null:null alert( {}.toString.call([]));//[object Array]
alert( {}.toString.call([]) =='[object Array]' );
alert( {}.toString.call(new Date) );//
alert( {}.toString.call(111) );//[object Number]
alert( {}.toString.call('111') );//[object String]
alert( $.type(undefined) ); //'undefined'
alert( {}.toString.call(function f(){}) );//[object Function]
alert( $.type([]) ); //'[object Array]' -> array </script>
</head> <body>
</body>
</html>
jquery06 jQuery.extend 给jQuery函数添加、继承 静态方法的更多相关文章
- 区别和详解:jQuery extend()和jQuery.fn.extend()
1.认识jQuery extend()和jQuery.fn.extend() jQuery的API手册中,extend方法挂载在jQuery和jQuery.fn两个不同对象上方法,但在jQuery内部 ...
- (扫盲)jQuery extend()和jQuery.fn.extend()的区别
1.认识jQuery extend()和jQuery.fn.extend() jQuery的API手册中,extend方法挂载在jQuery和jQuery.fn两个不同对象上方法,但在jQuery内部 ...
- jQuery extend()和jQuery.fn.extend()区别和详解
1.认识jQuery extend()和jQuery.fn.extend() jQuery的API手册中,extend方法挂载在jQuery和jQuery.fn两个不同对象上方法,但在jQuery内部 ...
- jQuery.extend和jQuery.fn.extend的区别【转】
解释的很有意思,清晰明了又有趣,转来分享下,哈哈哈 jQuery.extend和jQuery.fn.extend的区别,其实从这两个办法本身也就可以看出来.很多地方说的也不详细.这里详细说说之间的区别 ...
- jQuery.extend()、jQuery.fn.extend()扩展方法示例详解
jQuery自定义了jQuery.extend()和jQuery.fn.extend()方法.其中jQuery.extend()方法能够创建全局函数或者选择器,而jQuery.fn.extend()方 ...
- jQuery中jQuery.extend() 和 jQuery.fn.extend()的功能和区别
昨天下午和今天上午断断续续的一直在看jQuery中jQuery.extend() 和 jQuery.fn.extend()两个函数的功能及区别,现在自认为是掌握的差不多了.好记性不如烂笔头,这里一方面 ...
- Jquery.extend()和jQuery.fn.extend(object);
摘自: jquery $.fn $.fx是什么意思有什么用_jquery_脚本之家 jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法. jQuery.fn.ex ...
- jQuery.extend()、jQuery.fn.extend()扩展方法具体解释
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/dreamsunday/article/details/25193459 jQuery自己定义了jQu ...
- jQuery.extend和jQuery.fn.extend的区别?
jquery 本身 是由 Resig: 莱希格, 一个美国的小伙子小伙伴开发的, 在2005年 prototype发表之后, 在2006年1月发表的, 后来进入mozilla工作, mozilla的j ...
随机推荐
- uwsgi和wsgi
一个Web应用的本质就是: 浏览器发送一个HTTP请求: 服务器收到请求,生成一个HTML文档: 服务器把HTML文档作为HTTP响应的Body发送给浏览器: 浏览器收到HTTP响应,从HTTP Bo ...
- Android Gallery和ImageSwitcher同步自动(滚动)播放图片库
本文主要内容是如何让Gallery和ImageSwitcher控件能够同步自动播放图片集 ,看起来较难,然而,实现的方法非常简单, 请跟我慢慢来.总的来说,本文要实现的效果如下图:(截图效果不怎么好) ...
- PostgreSQL Replication之第七章 理解Linux高可用(1)
高可用(HA)是工业长期持续的,不间断的服务.在本章,您将了解高可用软件的历史,概念和实现与PostgreSQL复制和高可用之间的关系. 本章将详细地讲述如下主题: •理解高可用性的目的 •衡量可用性 ...
- T-SQL函数类型——系统函数
1 ??? 为什么 123 和'123'的ISNUMERIC()返回结果相同. SELECT ISNUMERIC(123) --结果为1SELECT ISNUMERIC('123') --结果为1S ...
- JTable表格案例
package com.szht.gpy.frame; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import ...
- [JSOI2007]建筑抢修 优先队列 贪心
Code: #include<cstdio> #include<algorithm> #include<cstring> #include<queue> ...
- idea+spring4+springmvc+mybatis+maven实现简单增删改查CRUD
在学习spring4+springmvc+mybatis的ssm框架,idea整合简单实现增删改查功能,在这里记录一下. 原文在这里:https://my.oschina.net/finchxu/bl ...
- C#调用C/C++动态库,封装各种复杂结构体
C#调用C/C++动态库,封装各种复杂结构体. 标签: c++结构内存typedefc# 2014-07-05 12:10 6571人阅读 评论(1) 收藏 举报 分类: C(8) C#(6) ...
- 题解 P2504 【[HAOI2006]聪明的猴子】
这道题要坑死人啊... 第一次做40分,其他RE,改了一次之后就变成20分了... 究其原因,是有一个数组(dis)开的太小了,于是最后本蒟蒻就随手开了个五百万,然后,就AC了. 看到有一篇题解说求距 ...
- POJ1158 城市交通Traffic lights IOI 1999 (最短路)
POJ1158 城市交通Traffic lights IOI 1999 (最短路) (1) 问题描述(probolem) 在d城里交通的安排不同寻常,城中有路口和路口之间的道路,再任意两个不同的路口之 ...