源码

作者: 海子小夜曲 | 来源:发表于2018-12-11 19:40 被阅读0次

为了防止变量以及全局对象的污染,引入沙箱模式

2,jQuery的功能为 查询DOM,操作DOM;在查询DOM时,要通过选择器来查询。因此要使用函数去实现DOM元素的查询。在实现时,要先定义一个函数 init

3,查询DOM元素后,要对这些DOM元素进行操作。此时,要使用面向对象的编程方式

jQue 对象的本质

是一个为数组对象,在自然数的索引上存储的是查询到的每一个DOM元素。本质是jQuery原型上的init构造函数的实例。

init构造函数的参数类型

1,string

*html 字符串:创建对应html元素

*选择器:在文档上查询don元素

2,dom 元素

*将其转换成 itcast对象

3,dom数组 | 维数组

*将其转换成 itcast 对象

4,函数

*监听dom树是否加载完毕,如果加载完毕就执行该函数

5. 非法值 null  undefined  ''

* 返回空itcast对象。

类型判断方法

1.toString方法 :判断是否为字符串

2.isHTML 方法:判断是否为html字符串

3,isDOM方法:判断是否为dom节点

4,isArrayLike方法:判断是否为数组

工具类方法:就是指可以在框架内部使用,也可以提供给框架的使用者来使用。是不需要创建实例就可以调用的

功能类方法:是框架内不得对象的方法,必须通过该对象去调用。比如操作dom元素的方法。

each方法

*功能:遍历数组或伪数组对象,或枚举对象属性

*实现

*给itcast函数添加each方法,定义两个参数。第一个参数是要遍历的对象:第二个参数是回调函数

*回调函数里具有两个参数。第一个:当前遍历元素的索引值:第二个:遍历到的元素。

*判断obj 是否为数组或伪数组

*如果是,那么就for循环遍历obj,

保持itcast对象是伪数组

在itcast对象的原型上添加length属性,赋值为0;表示所有itcast对象 默认的length属性为0

鸭子类型

“如果一个东西,”

实现为数组对象,在控制台显示时以真数组的方式展示。那么该对象需具有length属性,然后具有splice方法。

1,

原生的getAttribute方法只能获取由setAttribute设置属性节点值 或者默认属性节点值。不能获取与用户动态交互改变后的值。因此在获取和用户交互的相关属性节点值,推荐使用prop方法。

例如  value checked 一般接触输入框里的东西比较多

DOM对象属性

* class -> className

* for  -> htmlFor

*readonly -> readOnly

*rowspan

2,

attachEvent 与addEventListener 的区别

参数个数不同

前者两个参数(type, callback),后者支持捕获事件流(type, callback,useCapture)

前者添加事件前需要加 一个 on

函数执行时 this指向不同。前者指向window 后者指向事件源

绑定多个事件时,前者从后往前执行。后者按照事件顺序执行

3,

http https 都是一种无状态、无连接的协议。

无论什么用户都可以直接去访问指定网址的页面。但是在实际开发中,有些页面是要先验证身份才可以访问的。此时就需要http记录用户的状态(登录状态)。

但是http协议是无状态,那么就要推出新的技术来解决。此时就诞生了cookie和session。

2,应用场景

登录功能:记录登录状态,以及一些用户基本信息

用户基本信息:昵称、头像地址、加密后的密码(记住密码)、用户名

3,做cookie插件的目的

就是为了前端开发人员便于操作cookie

原生操作cookie

1,获取

document.cookie

2,设置

document.cookie = ‘username=guoguo’

3,设置有效期

默认如果没有设置cookie的有效期,他就是一个会话cookie,也就是说,当浏览器关闭后,该cookie的信息会被清除掉

在设置cookie有效期时,单位是天;

相关文章

网友评论

      本文标题:源码

      本文链接:https://www.haomeiwen.com/subject/xznehqtx.html