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() : 是否为windowisNumeric() : 是否为数字 type() : 判断数据类型isPlainObject() : 是否为对象自变量isEmptyObject() : 是否为空的对象error() : 抛出异常parseHTML() : 解析节点parseJSON() : 解析JSONparseXML() : 解析XMLnoop() : 空函数globalEval() : 全局解析JScamelCase() : 转驼峰(内部)nodeName() : 是否为指定节点名(内部)each() : 遍历集合trim() : 去前后空格makeArray() : 类数组转真数组inArray() : 数组版indexOfmerge() : 合并数组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);//truevar 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()方法
为了方便用户创建插件,jquery提供了jQuery.extend()和jQuery.fn.extend()方法. 1. jQuery.extend() 方法有一个重载. jQuery.extend( ...
- [jQuery] jquery.extend与jquery.fn.extend的区别?
[jQuery] jquery.extend与jquery.fn.extend的区别? 1.认识jQuery extend()和jQuery.fn.extend()jQuery的API手册中,exte ...
- jQuery源码研究分析学习笔记-jQuery.extend()、jQuery.fn.extend()(八)
jQuery.extend().jQuery.fn.extend()主要用于编写插件和处理函数参数. jQuery.extend(deep,target,objdect1 [,objectN]) jQ ...
- jQuery.extend与jQuery.fn.extend的区别分析与实例
jQuery.extend与jQuery.fn.extend都是为jquery开发插件. 不同是的: jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法. jQu ...
- jQuery.extend与jQuery.fn.extend的区别
jQuery.extend 对jQuery对象的扩展,可以理解为静态方法,不需要实例jQuery就可以使用. <script type="text/javascript"&g ...
- 详解 Jquery extend() 和Jquery.fn.extend()
Jquery extend() API文档上的解释:将一个或者多个对象扩展一个新对象,返回一个新的对象 $.extend([deep],target,obj1,objN) deep:是否深度克隆对象, ...
- jQuery extend方法介绍
jQuery为开发插件提拱了两个方法,分别是: jQuery.fn.extend(object); jQuery.extend(object); jQuery.extend(object);为扩展jQ ...
- jQuery.fn.extend 与 jQuery.extend 用法
1.jQuery.fn.extend 是对jQuery方法进行扩展 demo: jquery 本身并不提供 jQuery.color() 这个方法,如果我们需要对jQuery本身提供的方法进行扩展, ...
- jQuery源码-jQuery.fn.each jQuery.each
先上例子,下面代码的作用是:对每个选中的div元素,都给它们添加一个red类 $('div').each(function(index, elem){$(this).addClass('red'); ...
最新文章
- C#命名规则、开发习惯和风格
- C#_uploadify_mvc_version
- 通话过程中显示呼叫失败_电销行业如何破局?深海捷云呼叫中心协助企业通过挑战...
- xshell MySQL表备份_shell mysql数据迁移/备份
- Improving RGB-D SLAM in dynamic environments: A motion removal approach
- 序列化的作用_Java 序列化的高级认识
- 异常:Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
- linux 下对u盘分区吗,linux对中毒u盘分区和格式化
- 列举python的数据类型_Python的数据类型
- 一位老司机开车20年后得到的26条教训
- 系统更新后mysql用不了中文,Mysql在debian系统中不能插入中文的终极解决方案
- mysql基础之mariadb集群主从架构半同步复制
- kafka测试工具_kafka压测工具:同步方式2000+、异步方式10000+、带源码
- jupyter notebook 修改主题、字体、字号等
- JSONP解决前端跨域问题
- iOS 应用内付费(IAP)开发步骤一:填写相关的税务,银行,联系人信息;
- 芯片破壁者(十二.下):青瓦台魔咒与半导体“死亡谷”
- CentOS配置互信
- redhat linux rsh设置
- Oracle数据更新
热门文章
- Go 基本语法之变量声明
- Ant Design引入Echarts
- caffe特征可视化---python实现
- python音频分析工具_『开发技巧』Python音频操作工具PyAudio上手教程
- 神经网络模型中class的forward函数何时调用_总结深度学习PyTorch神经网络箱使用...
- php文本框长度限制,php截取富文本框中的固定长度的字符
- 地大计算机历年分数线,中国地质大学武汉历年分数线 2021中国地质大学武汉录取分数线...
- Python基础知识 D9
- using matlab drawing line graph for latex
- jquery php 登录验证手机号码,jQuery电话号码验证实例