jQuery:相当于一个库,里面有很多方法打包好可以使用
Angular:Google的前端框架,特点模块化开发
React:Facebook前Duang框架,特点虚拟DOM
Vue:结合了前面两者的JS框架
Axios:前端的通信框架,用jQuuery也能实现,但是Axios实现更简单
JavaScript的引入
1.直接在标签内引入
2.外部引入
写在head和body里面都可以
2.JS的基本类型
(1)number
(2)字符串"abc"或 'abc'
转义字符\',\n,\t,\u4e2d(Unicode字符),\x41 Ascii字符
用``反引号包裹可以写多行
字符串不可变不可以用student[0]=1
字符串长度str.length
大小写转换student.toUpperCase()
模板方法引字符串
(3)布尔值true false
(4)逻辑运算 && 与,||或, !取反
(4)比较运算符
=赋值
==等于(类型不一样,值一样,也会判断为ture)
===绝对等于
须知 NaN===NaN,这个与所有的数值不相等,包括自己
只能通过isNaN(NaN)来判断这个数是否是NaN
浮点数问题
(5)null 空, undefined 未定义
(6)数组 可以用(),但是为了保证代码的可读性,尽量使用[]
可以包含任意数据类型
取数组下表如果越界了就会undefined
可以改变长度,变长 用undefined填充,变短就会取前面 后面丢失
(7)对象
严格检查模式
流程控制
1.if判断
2.while循环
3.for循环
4.forEach循环
5.for...in
Map和Set
Map
Set
函数
1.绝对值函数
定义方式一:
一旦执行到return带边函数结束,返回结果
如果没有执行人return,函数执行完也会返回结果,结果就是underdefined
定义方式二
arguments是一个关键字,代表传递进来的所有的参数,即使方法只要一个参数,也可以获取参数列表
rest获取除了当前变量 所有的参数
2.变量作用域
在javascript中 var定义变量实际是有作用域的
假设在函数体重声明,则在函数体外是不可以使用的
内部函数可以访问外部函数的成员
假设内部变量和外部变量重名,则由内向外查找
全局函数
alert本身也是window的变量
JavaScript实际上只有一个全局做有用,任何变量(函数也可以视为变量),假设没有在函数作用范围内找到,就会向外查找,如果在全局作用域都没有找到,报错RefrencError(引用错误)
规范
由于所有全局变量都会绑定到window上,如果不同的JS文件使用了相同的全局变量,如何减少冲突
jQuery就是这么做的 jQuery.xxx=$.xxx
在局部作用域中使用let定义局部作用域
在ES6之前 常量用名字全部大写,ES6引入了常量关键字 const
3.方法
方法就是把函数放在对象的里面,对象至于两个东西:属性和方法
apply,在js中可以控制this指向
4.内部对象
(1)Date
转换
(2)JSON(轻量级数据交换格式,早期是XML)
在JavaScript一切皆为对象,任何js支持的类型都可以用jSON来表示
格式 对象都用{}
数组都用[]
所有的键值对 都是用key:value
(3)Ajax
原生js写法 xhr异步请求
jQuery封装好的方法 $("#name").ajax(“”)
axios请求
面向对象编程
JS中的面向对象需要换一下思维
原型
class继承
class关键字是在ES6引入的
原型链()
操作BOM对象
1.浏览器介绍
JavaScript和浏览器关系
JavaScript诞生就是为了能够让它在浏览器中运行
BOM:浏览器对象模型
2.window
window代表浏览器窗口
3.Navigator
封装了浏览器的信息
大多数时候不会使用navigator对象,因为会被认为修改
4.screen
代表全屏幕属性
5.location
location代表当前页面的URL信息
6.document
当前的页面,html DOM文档树
获取cookie
服务器端可以设置cookie:httpOnly保证cookie的安全
history
代表浏览器的历史记录
操作DOM对象
DOM:文档对象模型
浏览器网页就是一个DOM属性结构
更新:更新Dom节点
遍历dom节点,得到dom节点
要操作一个dom节点就必须要先获得这个节点
删除一个dom节点
注意:删除多个节点的时候,children是在时刻变化的,删除节点的时候要注意
添加一个新的节点
把已有的标签移动到任何一个标签后面
我们获得了某个Dom节点,假设这个dom节点是空的,我们通过innerHTML就可以增加一个元素了,但是这个DOM节点已经存在元素了,我们就不能这么干了,会产生覆盖
创建一个新的标签实现插入
插入一个节点(把新节点插入目标节点的前面
表单操作
提交表单 md5加密密码 表单优化
jQuery
文档工具站:http://jquery.cuishifeng.cn/
封装了大量JAavaScript函数的库
获取jQuery
公式:$(selector).action()
1.事件
2.操作DOM
3.CSS的操作
4.ajax()
.