事件
点击事件(onclick)
<!DOCTYPE html>
<html>
<body>
<h1>标题</h1>
<button type="button" onclick="document.getElementById('demo').innerHTML = Date()">
点击
</button>
<!-- p标签通过点击事件显示当前时间 -->
<p id="demo"></p>
</body>
</html>
ES5 (ECMAScript 5.1版本之前)
<!DOCTYPE html>
<html>
<head>
<script>
function myFunction() {
document.getElementById("demo").innerHTML = "点击事件后修改的文本";
}
</script>
</head>
<body>
<h1>标题</h1>
<p id="demo">原有的文本</p>
<button type="button" onclick="myFunction()">点击</button>
</body>
</html>
ES6 (ECMAScript 6.0版本之后)
<script>
const myFunction = () =>{
/* 修改文档中元素id为demo的文本 */
document.getElementById("demo").innerHTML = "你好 JavaScript";
/* 修改文档中元素id为demo的样式 */
document.getElementById("demo").style.fontSize = "30px";
}
</script>
输出
警告框
<!DOCTYPE html>
<html>
<body>
</body>
<script>
window.alert('这是一个警告框')
</script>
</html>
HTML输出
<!DOCTYPE html>
<html>
<body>
</body>
<script>
document.write('在HTML文档上输出文本')
</script>
</html>
浏览器控制台输出
<!DOCTYPE html>
<html>
<body>
</body>
<script>
console.log('控制台输出的文本')
</script>
</html>
JavaScript基础类型
基本数据类型
String: 字符串
Number: 数字
Boolean: 布尔值
Null: 空值
Undefined: 未定义
Symbol(ES5): 唯一的值
BigInt(ES10): 大数值-9223372036854775808到9223372036854775807
引用类型
Object: 对象
Array:数组
Function: 函数
JavaScript 操作符
作用 | 符号 | 示例 | 结果 |
---|---|---|---|
赋值 | = | let num = 1; console.log(num1) |
1 |
加 | + | let num1 =1; let num2 = 2; let num3 = num1+num2; console.log(num3 ) |
3 |
减 | - | let num1 =1; let num2 = 2; let num3 = num2-num1; console.log(num3 ) |
1 |
乘 | * | let num1 =1; let num2 = 2; let num3 = num1*num2; console.log(num3 ) |
2 |
初 | / | let num1 =1; let num2 = 2; let num3 = num1/num2; |
0.5 |
等于 | == | let num1 =1; let num2 = 2; console.log(num1 == num2 ) |
false |
等于 (同时检查类型) |
=== | let num1 =1; let num2 = ‘1’; console.log(num1 === num2 ) |
false |
不等于 | != | let num1 =1; let num2 = 2; console.log(num1 !== num2 ) |
true |
!== | |||
小于 | < | let num1 =1; let num2 = 2; console.log(num1 < num2 ) |
true |
大于 | > | let num1 =1; let num2 = 2; num1 > num2 ; console.log(num1 > num2 ) |
false |
强制转换为布尔值 | !! | let num1 =1; console.log(!!num1 ) |
true |
候补值 (前面的值为undefined或null时使用后面的值) |
?? | let num1; let num2 = num1 ?? 2 console,log(num2) |
2 |
变量声明
var
全局声明变量,容易造成命名污染
console.log(a); // undefined
const func = () => {
a = 1;
console.log(a); // 1
}
func();
var a;
console.log(a); // 1
let
局部声明变量,在区块作用域内有效果
const func = () =>{
let a;
console.log(a); // undefined
a = 1;
console.log(a); // 1
}
console.log(a); // ReferenceError
const
局部声明变量,在区块作用域内有效果(声明后基本数据类型不可以被随意修改,引用数据类型可以修改)
const func = () => {
const a = 1; // 这里必须要有赋值
console.log(a); // 1
a = 2; // ReferenceError
}
func();
console.log(a); // ReferenceError
const func = () => {
const a = { a1: 1 }; // 这里必须要有赋值
console.log(a); // {a1: 1}
a.a1 = 2;
console.log(a); // {a1: 2}
}
func();
console.log(a); // ReferenceError