一.初步介绍
jQuery 是一个 JavaScript 库,极大地简化了 JavaScript 编程。jquery 是 js的封装的一个框架 。能处理浏览器之间的兼容性
1.引入方法
- 网络直接引用
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js">
- 下载jquery,然后路径引用
2.jQurey和$
window.jQuery=window. $ = jQurey 其实jQurey、$是一个全局变量
jQurey在库里是一个函数
jQuery=function (selector, context ){
return new jQuery.fn.init( selector, context, rootjQuery );
}
jQurey();和$();这两个等价
$(""), $(null), $(undefined), $(false) 出现这些情况直接返回this init初始化函数
console.log($(""));
console.log($());
console.log($(null));
console.log($(false));
console.log($("undefined"));
3.引入方法
$(document).ready(function(){
// 开始写 jQuery ...
});
//或者简写
$(function(){
// 开始写 jQuery ...
});
二.原型以及原型链
函数都有一个特别的属性: prototype 显式原型属性
所有实例对象都有一个特别的属性: _ proto_ 隐式原型属性
显式原型与隐式原型的关系
-
函数的prototype: 定义函数时被自动赋值, 值默认为{}, 即用为原型对象
-
实例对象的__proto__: 在创建实例对象时被自动添加, 并赋值为构造函数的prototype值
-
原型对象即为当前实例对象的父对象
原型链
-
所有的实例对象都有__proto__属性, 它指向的就是原型对象
-
这样通过__proto__属性就形成了一个链的结构即原型链
-
当查找对象内部的属性/方法时, js引擎自动沿着这个原型链查找
-
当给对象属性赋值时不会使用原型链, 而只是在当前对象中进行操作
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();
console.log(new student());
函数的原型里面的构造函数指向自身