预解析
声明式函数预解析时,整个函数都将被提升到script标签内的最上面
// 声明式
a();
function a() {
document.write("a=5");
}
赋值式的函数预解析时,将赋值的变量提升到script标签内的最上面,后面的赋值函数忽略
// 赋值式
b();
var b = function() {
document.write("b=6");
}
变量预解析:将声明的变量提升至script标签内的最上面
document.write(c); // 由于变量预解析,undefined
var c = 7;
document.write(c); // 由于上面已赋值,7
作用域:全局作用域和局部作用域
全局作用域:整个页面,只有当页面关闭时,全局作用域才会失效
局部作用域:全局作用域中又划分出的小范围的作用域,函数内部可以创建局部作用域,到目前为止,也只有函数作用域可以创建局部作用域
函数内部可以访问到函数外的变量,函数外访问不到函数内的变量
节点
获取html文档
console.log(document.documentElement);
获取头部
console.log(document.head);
获取主体
console.log(document.body);
获取第一个元素
var body = document.body;
console.log(body.firstElementChild);
获取最后一个
console.log(body.lastElementChild);
获取相邻兄弟 (前后)
var input = document.