JSON介绍
JSON:是一种轻量级的数据交换格式。
它是基于ECMAScript规范的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。
简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于计算机解析和生成,并有效的提升网络传输效率。
stringify(对象) 将指定对象转换为JSON格式的字符串
parse:将一个json字符串转为js对象
用户注册提交案例
1.为表单添加提交事件
首先想明白,是要用什么事件,用户注册不用点击事件,是因为如果用点击事件,就算用户名错误,仍然会提交。
document.getElementById("regist").onsubmit=function(){
2.获取填写的用户名和密码
利用js的dom获取对象,然后获取它的value
3.判断用户名是否满足条件
let reg1=/^[a-zA-Z]{4,16}$/;
if(!reg1.test(username)){
alert("用户名请输入4-16位的字母");
return false;
}
4.判断密码是否满足条件
5.条件都满足,则提交表单
BOM介绍
BOM(browser object model):浏览器对象模型
将浏览器的各个组成部分封装城不同的对象,方便我们进行操作。
window:窗口对象
Location:地址栏对象
Navigator:浏览器对象
History:当前窗口历史记录对象
Screen:显示器屏幕对象
Window窗口对象
- setTimeout()、clearTimeout():一次性定时器
- setInterval()、clearInterval():循环定时器
- onload 事件:页面加载完毕触发执行功能
Location 地址栏对象
- href属性:跳转到指定的URL地址
.js文件在使用之前必须先导入
JQuery
JQuery是一个JavaScript库
所谓的库,就是一个JS文件,里面封装了很多预定义的函数,比如获取元素,执行隐藏、移动等,目的就是在使用时直接调用,不需要再重复定义,这样就可以极大的简化了JavaScript编程。
快速入门
1.导包
2.用$("")来获取对象
<script src="js/jquery-3.3.1.min.js"></script>
<script>
// JS方式,通过id属性值来获取div元素
// let jsDiv=document.getElementById("div");
// alert(jsDiv);
// alert(jsDiv.innerHTML);
// jQuery方式,通过id属性值来获取div元素
let jqDiv=$("#div");
alert(jqDiv);
alert(jqDiv.html());
</script>
JQuery对象的实质
JQuery本质上还是JS,但如果想使用JQuery的属性和方法那么必须保证对象是JQuery对象,而不是JS方式获得的DOM对象,二者的API方法不能混合使用,若想使用对方的API,需要进行对象的转换。
1.JQuery对象实际上是一个数组类
2.js对象转为JQuery
let jq=$(jsobj)
3.JQuery转为js对象
let jqDiv = $()
JQuery事件
事件的基本使用
<script src="js/jquery-3.3.1.min.js"></script>
<script>
$("#btn").click(function(){
alert("点我干嘛")
});
$("#input").focus(function(){
alert("你快输入数据");
});
$("#input").blur(function(){
alert("输入完成");
});
</script>
事件的绑定和解绑
- JQuery对象.on(事件名称,执行的功能);
- JQuery对象.on(事件名称); //如果不传入事件名称,则解绑所有事件
事件的切换
本质上是给同一个对象绑定多个事件
<script>
$("#div").mouseover(function(){
$(this).css("background","red");
}).mouseout(function(){
$(this).css("background","pink");
}).click(function(){
$(this).css("background","green");
});
</script>
遍历的三种方式
1.for循环遍历
2.对象.each()方法
$("#btn").click(function(){
$("li").each(function(index,ele){
alert(index+":"+ele.innerHTML);
});
})
3.$.each()方法
基本选择器
1.元素选择器 $(“元素的名称”)
let divs=$("div");
console.log(divs);
2.id选择器 $("#id的属性值")
3.类选择器 $(".class的属性值")
层级选择器
1.后代选择器 $(“A B”) A下的所有B(包括B的子级)
let spans=$("div span");
console.log(spans);
2.子选择器 $(“A > B”) A下的所有B(不包括B的子级)
let span=$("div > span");
console.log(span);
3.兄弟选择器 $(“A + B”) A相邻的下一个B
let p=$("div + p");
console.log(p);
4.兄弟选择器 $(“A ~ B”) A相邻的所有B
let p2=$("div ~ p");
console.log(p);
属性选择器
1.获取包含了某个属性的元素
og(span);
3.兄弟选择器 $("A + B") A相邻的下一个B
```js
let p=$("div + p");
console.log(p);
4.兄弟选择器 $(“A ~ B”) A相邻的所有B
let p2=$("div ~ p");
console.log(p);
属性选择器
1.获取包含了某个属性的元素
2.某元素包含了某个属性并且属性值也是指定的