-
indexOf,匹配到的是函数指针。测试了下,的确可以通过指针匹配到回调队列中是否有函数。
查看全部 -
add的时候,拿到add之前的回调数组长度,如果是memory模式,获取到回调数组中最后一个回调函数,再push新增加的回调到回调数组中。如这个情况arr = [lastFn, newFn],然后_fire,会将上一次fire传进的值(旧值),通过arr回调去执行一遍,_fire内部也已经将firingStart置为0了,所以不会影响下一次的fire,会正常将所有注册的回调,以新值传入来执行一遍。
查看全部 -
异步链式promise.then().then().then()
查看全部 -
之所以简单的通过
return new ajquery.fn.init(selector)
其返回出的实例对象无法访问ajquery原型,是因为init方法的调用是通过new调用的,Init方法本身原型,又没有加工过任何方法。所以new ajquery.fn.init(selector),和new一个简单的空函数没有什么区别。
function simpleFn(){ return this }
JS高级程序设计里面,关于原型那块其实有提到过方法,就是改写prototype的指向,当然还要注意让constructor指向正确的函数
查看全部 -
类2挂载在原型上的方法,则需要,则实例搜索原型链,这里搜索原型链,效率肯定是比写在自身上低的,但是基本可以忽略,仅搜索一层而已。
查看全部 -
类2比类1的好处,节省了内存空间,这个好处很直接明了。一直以来对这块的认识都是减少重复方法,可以共用。
查看全部 -
为了让undefined是真正的undefined,以不传参数的形式,参数默认称为真正的undefined
查看全部 -
fn与jQuery其实是2个不同的对象,jQuery.extend 调用的时候,this是指向jQuery对象,所以这里扩展在jQuery上。而jQuery.fn.extend 调用的时候,this指向fn对象,jQuery.fn 和jQuery.prototype指向同一对象,扩展fn就是扩展jQuery.prototype原型对象。这里增加的是原型方法,也就是对象方法了。
查看全部 -
JQuery中的ready与load事件
解析HTML结构
加载外部脚本和css样式表文件
解析并执行脚本代码
构造HTML DOM 模型//ready
加载图片等外部文件
页面加载完成//load
ready与load的区别:
ready完成了基本的DOM结构的构建
查看全部 -
11查看全部
-
为什么进度一直在4%查看全部
-
<!-- 例一 -->
<p>First Paragraph</p>
<p>Second Paragraph</p>
<p>Yet one more Paragraph</p></br></br></br>
<!-- 例二 -->
<button id="go">» Run</button>
<div id="block">Hello!</div></br></br></br>
<!-- 例三 -->
<form>
<input type="checkbox" name="newsletter" value="Hourly" checked="checked">
<input type="checkbox" name="newsletter" value="Daily">
<input type="checkbox" name="newsletter" value="Weekly">
<input type="checkbox" name="newsletter" value="Monthly" checked>
<input type="checkbox" name="newsletter" value="Yearly">
</form>
<div id="t"></div>
<script>
//点击隐藏P标签的内容,slideUp(speed,callback),如slideUp(2000或"slow",slideUp执行完后摇执行的函数)
$("p").click(function () {
$(this).slideUp();
});
//»为 » 位运算符的意思,点击按钮后,DIV进行变换动画,调整成设置好的参数,在1500毫秒内进行
$("#go").click(function(){
$("#block").animate({
width: "70%",
opacity: 0.4,
marginLeft: "0.6in",
fontSize: "3em",
borderWidth: "10px"
}, 1500 );
});
//在DIV中显示勾选个数,"input:checked"为一个数组,通过(n === 1 ? " is" : " are") 来判断n是否等于1,如是则用is,否则用are
var countChecked = function() {
var n = $( "input:checked" ).length;
$( "#t" ).text( n + (n === 1 ? " is" : " are") + " checked!" );
};
$( "input[type=checkbox]" ).on( "click", countChecked );
查看全部 -
jQuery中ready先执行,load事件后执行
DOM文档加载的步骤: (1) 解析HTML结构。 (2) 加载外部脚本和样式表文件。 (3) 解析并执行脚本代码。 (4) 构造HTML DOM模型。//ready (5) 加载图片等外部文件。 (6) 页面加载完毕。//load
查看全部 -
<script src="https://cdn.bootcss.com/jquery/2.1.0/jquery.min.js"></script>
查看全部 -
jQuery文档针对业务层的Ajax的处理提供了一系列的门面接口:
.ajaxComplete() .ajaxError() .ajaxSend() .ajaxStart() .ajaxStop() .ajaxSuccess()
底层接口:
jQuery.ajax() jQuery.ajaxSetup()
快捷方法:
jQuery.get() jQuery.getJSON() jQuery.getScript() jQuery.post()
查看全部
举报