1.何为jQuery
jquery是js的函数库,不是一种新的语言,也不能取代JS,是JS封装的一个框架 便于快速开发
优点:写的少 做的多 用于处理浏览器之间的兼容性
jQuery库:压缩版 完成版 (开发的时候不一定越新越好 根据自己的需求去选择)1.9.1 / 3.4.1
在网页中的书写:在head body中均可以书写 ,写入时先引入jQuery文件
console.log(window);
window.jQuery //其实jQuery是一个全局变量
window.$ //其实$是一个全局变量
window.jQuery==window.$=jQuery
//jQuery 在库里面是函数
jQuery=function (selector, context ){
}
//两者等价
jQuery();
$();
//该函数执行的时候 传递参数是selector, context
HANDLE: $(""), $(null), $(undefined), $(false) //出现这个情况直接返回this init初始化函数
console.log($());//返回init函数
//在库中寻找以下代码:
//Map over jQuery in case of overwrite
_jQuery = window.jQuery
//Map over the $ in case of overwrite
_$ = window.$,
//Define a local copy of jQuery
jQuery = function( selector, context ) {
// The jQuery object is actually just the init constructor 'enhanced'
return new jQuery.fn.init( selector, context, rootjQuery );
}
init: function( selector, context, rootjQuery ) {
}
// Expose jQuery to the global object
window.jQuery = window.$ = jQuery;
2.JS原型以及原型链
//把函数实例化为一个对象
function Array(){
}
var arr=new Array();
//类函数 也称为构造函数
//class constructor (构造函数 类被实例化的时候 就直接执行的一个函数)
function init(){
console.log(1);
}
console.log(_init);
console.log(init.prototype); //函数的原型是 对象里面的__proto__
/*constructor:f init()
__proto__:Object
函数的原型 里面的构造函数指向自身
*/
//函数自身添加的一种方法
init.prototype={
constructor:init,
method:function (){
console.log("我是原型里面的函数");
}
}
var _init=new init();
console.log(_init);
_init.method();
原型链:只有继承之后 才会产生原型链
function student(){
}
function china()
{
this.color=function (){
console.log("中国人的肤色是黄色");
}
}
function people(){
this.allpeople=function (){
console.log("都是个人");
}
}
student.prototype=new china();
china.prototype.__proto__=new people();
var s=new student();
console.log(s);