jquery

2019-01-23  本文已影响0人  芗芗_

1.无new关键字
(function () {
var xx = function () {

  return new xx.prototype.init()

}

xx.prototype = {
init: function (){
this.name = '香香'
},
sex: function() {
console.log('sex fun')
},
age:20
}
xx.prototype.init.prototype = xx.prototype //这一句使得init出来的实例都能访问xx原型上的方法

window.xx = xx
})()

var mm = xx()

2.链式调用
每个扩展的方法都返回 this

3.插件接口
.extend() 和.fn.extend 为jquery函数增加方法 或者是为原型增加方法(也就是为实例增加公共方法) 因为(this的指向不同)
默认false//第一个参数为boolean的时候 表示要是深递归 (但是内部都为false 所以不管是true还是false 都是深递归咯)
// 参数只有一个 并且为对象或者function 就是为当前对象(this)添加静态方法
//参数多于一个的时候 表示吧后面的对象都拷贝到第一个对象
//传参错误时 返回一个空对象

4.ajax
针对ajax提供2种回调方式,内部的complete回调与外部的done回调
全局document上都能捕获到ajax的每一步的回调通知
换句话说,针对ajax的请求,每一步的状态,成功或者失败,我们有3种方式可以获取,但是每一种还是有各自的区别
1 ajax的参数回调 (回调通过实参传递)
2 基于deferred方式的done回调
3 全局的的自定义事件的回调 在document上绑定 ajaxstart等事件

XMLHttpRequest.readystate 0//未打开(open没执行) 1// 未发送(send没执行) 2// 响应头已经回来了 但是response还没回来 3// response正在下载 4// response 下载完成 请求完毕
XMLHttpRequest.status // 请求的状态码

5.callback

判断数组的时候 !arr && arr.length && typeof arr != 'string'

上一篇下一篇

猜你喜欢

热点阅读