变量预解析
声明式的函数预解析时,整个函数将被提升的script标签内的最上面
赋值式的函数预解析时,将赋值的变量提升到script标签的最上面,后面的赋值函数忽略
console.log(a) //由于变量的预解析,故此处打印的是underfined
var a = 20
csole.log(a) //由于上面已经赋值,故此处打印的是10
DOM
1.DOM是文档对象模型:当网页被加载时,浏览器会创建页面的文档对象模型。
2.通过 DOM,可访问 JavaScript HTML 文档的所有元素。
3.DOM 模型被构造为对象的树:通过可编程的对象模型,JavaScript 获得了足够的能力来创建动态的 HTML。
JavaScript 能够改变页面中的所有 HTML 元素
JavaScript 能够改变页面中的所有 HTML 属性
JavaScript 能够改变页面中的所有 CSS 样式
JavaScript 能够对页面中的所有事件做出反应
获取HTML元素(三种方法)
1)根据id获取HTML元素:document.getElementById("id名")
2)根据标签名获取HTML元素:document.getElementsByTagName("标签名");
3)根据类名获取HTML元素:document.getElementsByClassName("类名");
获取标签属性
// 第一种方式:元素对象.属性名
// 第一步:先找到标签,第二步才是获取到改标签的属性
var input = document.getElementById("last")
console.log(input.value, input.type)
//更改属性值
input.value = "庞某人是dog"
//自定义属性
var div_1 = document.getElementById("div_1")
console.log(div_1.getAttribute("stuname"))
console.log(div_1.getAttribute("ccc"))
// setattribute()设置属性
div_1.setAttribute("stuid", "100")
// attributes:获取的是标签的自带的属性及其自定义属性
console.log(div_1.attributes)
console.log(div_1.attributes["id"])
// 自定义属性:data-****
// dataset:只能获取到data-**的属性
console.log(div_1.dataset)