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 ...
随机推荐
- POJ 2828 线段树 逆序插入
思路: 1.线段树 逆着插入就OK了 2.块状链表 (可是我并不会写) //By SiriusRen #include <cstdio> #include <cstring> ...
- kafka集群安装配置
1.下载安装包 2.解压安装包 3.进入到kafka的config目录修改server.properties文件 进入后显示如下: 修改log.dirs,基本上大部分都是默认配置 kafka依赖zoo ...
- HDU 1166 敌兵布阵(线段树单节点更新 区间求和)
http://acm.hdu.edu.cn/showproblem.php?pid=1166 Problem Description C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Dere ...
- mutt发邮件
在 /etc/Muttrc 文件添加以下内容: set from="laughingliang@chaincar.com" set use_from=yes set envel ...
- url链接打开本地应用(测试通过)
基于windows!! 类比mailto://XXXX 主要参考: https://www.cnblogs.com/snow365/p/6428212.html 应用 1.在网页上本地办公 网页应用越 ...
- oracle 12c 关于wm_concat 的替换;LISTAGG
之所以用到了wm_concat函数.是想到达这样的结果集. 转为这样的===========> 返回这样的数据,易与配合echarts的数据准备. 看上去十分的方便,但是遗憾的是,oracle极 ...
- JAVA JS 中的 modulus exponent 生成 C# 公匙
C#用的是xml,里面是base64编码的.你上面的就是hex格式,只要把上面hex格式转成byte数组,然后在base64编码就可以了. public static byte[] Hex2Byte( ...
- 洛谷 P3199 [HNOI2009]最小圈
P3199 [HNOI2009]最小圈 题目背景 如果你能提供题面或者题意简述,请直接在讨论区发帖,感谢你的贡献. 题目描述 对于一张有向图,要你求图中最小圈的平均值最小是多少,即若一个圈经过k个节点 ...
- Mac系统下安装ant
看了一些别人怎么在mac下安装ant,大体都是从官网下载bin文件,然后改动权限,建链接.配path. 须要这么麻烦吗?我认为不须要. 以下一个命令搞定: forlong401:build forlo ...
- java-proxool 异常
使用 proxool,JDBC连接池,进行批量运行的时候遇到异常: The Thread responsible was named 'Thread-32′, but the last SQL it ...