(function(w,undefined){
//undefined既不是关键字 也不是保留字 所以要把undefined传入进来 防止被恶意修改 为什么undefined不用当实参传 而是直接在形参里写undefined,因为不需要传实参,不传实参其实就是undefined了
//window 当实参传 亮点原因 容易压缩 然后是window是最顶层 就不用很麻烦的去查找了
window.$ = $; // 对外提供了接口
})(window) //jquery 在外面用了一个匿名函数自执行 包裹 把变量 方法 函数 包裹在里面 然后在对外提供接口
//undefined既不是关键字 也不是保留字 所以要把undefined传入进来 防止被恶意修改
var undefined = 10;
console.log(undefined); //在低版本的浏览器 会打印出10 ,高版本会打印出undefined
//平时我们一般的写法
function Aaa(){}
Aaa.prototype.init = function(){ //这里 直接调用初始化方法 就可以了
a1.css();
}
Aaa.prototype.css = function(){
}
var a1 = new Aaa();
al.init();
//jquery 写法
function jQuery(){
return new jQuery.prototype.init(); // init()方法中实现了选择器 方法等
}
jQuery.prototype.init = function(){ //这里 直接调用初始化方法 就可以了
a1.css();
}
jQuery.prototype.css = function(){
}
jQuery.fn.init.prototype = jQuery.fn; //可以写成jQuery.prototype.init.prototype = jQuery.prototype; 意思就是把jQuery下面的原型 赋值给了 jquery原型下的init方法下的原型
//所以就可以形成在jquery 中 调用就$('.').css()或者jQuery('.').css()