学习笔记
div的name拿不到,id能拿到,因为div原本有id属性,而没有name属性,
元素.属性名只适用于元素原生的属性,后加的是获取不到的,那怎么才能获取到?
使用 元素.getAttribute("属性");
设置属性,使用元素.属性名方式名行不通【无论是原生还是后写的】,那怎么设置?
使用 元素.setAttribute("属性");【重复的设置会覆盖】
删除属性:元素.removeAttribute("属性")
拿到元素所有属性:元素.attributes;
返回结果是一个属性节点映射的集合,想要拿出指定的位置属性,可以通过下标获取
+.name获取属性名,+.value获取属性值;可以直接使用.value更改属性值
给原生属性赋值,元素.属性="值",class特殊变成了className
元素.style【行内样式】="键值对儿;键值对儿"
BOM:Browser Object Model【浏览器对象模型】
BOM核心对象window
window对象
navigator:
history:
screen:
location:
BOM回调函数:一个函数的参数是另一个函数
ES6写法
let callback = function(a){} 或者
let callback = (a) => {}
除了其他普通类型能传对象,数组,函数
注意:传入的参数不能写();并且如果想给传入的函数传参,要在另一个函数调用处传入参数
BOM定时函数
let timer = setTimeout();
setTimeout是一个函数,有如下参数:
1.函数 2.延迟时间
let timer = setTimeout(function(){console.log(123);【匿名函数】},2000);
两千毫秒以后打印123
终止定时函数的执行
清除计时函数
clearTimeout();
参数是要清除的计时器
clearTimeout(timer);
let timer = setInterval(funtcion(){},2000);
周期性定时器,每个多少秒走一次
每隔两秒钟。。。【第一次执行也得先延迟】
清除
clearInterval(timer);
浏览器自带小型数据库,存储的东西有限,
浏览器自带的一个map集合,永久保存
向Storage中设置键值对
window.localStorage.setItem("name":"k");
从Storage中根据键取值
window.localStorage.setItem("name");
删除对应键值对
window.localStorage.removeItem("name");
清空所有键值对
window.localStorage.clear();
sessionStorage与localStrage用法相同,作用域不同。
会话:session
一问一答说话;我和浏览器打电话,当浏览器关闭的一瞬间,通话结束,会话结束,内容消失,
像是电话里说的内容,随着电话响起内容存在,结束时内容消失
localStorage和sessionStorage都是window对象
警告弹窗
alert:不点确定不能继续
带有确认和取消的弹窗
confirm();
有返回值:确定:true;取消:false
带有文本框的弹窗
prompt();
有返回值:文本框输入的内容就是返回值
这仨弹窗在开发中基本不用
1.丑 2.不同浏览器会变样 3.弹窗位置无法修改5
history:历史记录
history.forward();:前进
history.back();:后退
history.go();:既可以前进,也可以后退;传入的参数为正前进,传入的参数为负后退。
可以传步数,传几就是几步
location:位置
location.href = "相对路径,绝对路径,http地址";当前窗口
location.href;取出当前页面的完整的域名(地址)
location.reload:刷新x'x'x
screen:屏幕
screen.width;
screen.availHeight;有效高度;
navigator:获取浏览器参数
navigator.参数
window.close();
window.open("地址");新开窗口
window.print();
事件:
定义事件的方式
1.获取指定元素,对象.addEventListener();
参数一:要添加的事件类型
参数二:添加的事件要触发的函数
2.获取指定元素,对象.事件=函数
3.加在标签里
删除元素的两种方式:
1.获取指定元素,对象.事件=null
2.获取指定元素,对象.removeEventListener();
表单提交事件onsubmit:
onsubmit事件注意:
1、onsubmit是加在form表单上
2、onsubmit要有return
3、函数也要返回boolean类型
<form action="aaa" onsubmit="return fun()">
<input type="text" required>
<input type="submit" value="提交">
</form>
<script>
/*
onsubmit事件注意:
1、onsubmit是加在form表单上
2、onsubmit要有return
3、函数也要返回boolean类型
*/
function fun() {
return true;
事件冒泡:因为子元素在父元素里面,所以当两者都有事件时,点击子元素,会触发自己和父元
素的事件。
怎么阻止事件冒泡
1.在子元素的事件触发函数中阻止
2.借助第三方event对象
3.调用一个方法,在事件触发函数中传入event,调用方法event.stopPropagation。
注意:event对象必须通过addEventListener()添加事件才能生效
ES6语法:
1.let const
2.模板字符串
3.箭头函数:只有一句话可以将大括号声调
4.数据类型Symbol
5.Promize函数,处理回调地狱
学习心得:
今天学完了js,老师把知识点讲的很清晰。