JavaScript
JS用法
- HTML 中的 Javascript 脚本代码必须位于 标签之间。
- Javascript 脚本代码可被放置在 HTML 页面的 和 部分中。
JS输出
- 如果想从JavaScript访问某个元素,可以使用document.getElementById(id)方法。并且要使用id属性来标识html元素,使用innerHTML来获取或插入元素内容。
JS变量
var声明变量的特点:
- 变量可以
重复声明(覆盖原变量)
- 变量未赋值时,默认值为undefined
- var声明的变量会提升(Hoisting),但不会初始化
- 一条语句中声明的多个变量不可以同时赋同一个值
JS数据类型
**值类型(基本类型)**:字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined)、Symbol。
引用数据类型(对象类型):对象(Object)、数组(Array)、函数(Function),还有两个特殊的对象:正则(RegExp)和日期(Date)。
JS变量提升
声明提升:函数声明和变量声明总是会被解释器悄悄地被提升到方法体的最顶部。
DOM
在JavaScript中,DOM和BOM是两个核心概念,它们构成了前端开发的基石。虽然经常一起出现,但它们的职责、对象结构和应用场景完全不同。
- DOM管
页面内容(HTML/CSS)。它是W3C标准,跨浏览器通用。
- BOM管
浏览器窗口(地址栏、历史记录、屏幕尺寸等)。它没有统一标准,依赖浏览器厂商实现(但主流浏览器高度一致)。
常用API示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| const box = document.getElementById('box'); const items = document.querySelectorAll('.item');
box.innerHTML = '<h1>Hello DOM</h1>'; box.textContent = '纯文本内容';
box.style.color = 'red'; box.classList.add('active');
const newLi = document.createElement('li'); newLi.textContent = '新列表项'; document.querySelector('ul').appendChild(newLi);
box.addEventListener('click', () => { console.log('盒子被点击了'); });
|
注意:DOM操作通常比较消耗性能(会触发重排Reflow和重绘Repaint),在现代开发中(如React/Vue),我们通常通过“数据驱动”来间接操作DOM,而不是直接频繁操作。
常用代码示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| window.alert('你好!'); window.resizeTo(800, 600); console.log(window.innerWidth);
console.log(location.href); location.href = 'https://www.google.com'; location.reload(); location.search;
history.back(); history.pushState({page: 2}, '', '/page2');
const timer = setTimeout(() => { console.log('3秒后执行'); }, 3000);
alert('Hi'); window.alert('Hi');
document.querySelector('div'); window.document.querySelector('div');
|