将内容写到 HTML 文档中 - - - document.write() 
 
    <script>// 括号里的内容要有引号document.write("<h1>这是一个标题</h1>");document.write('<div class="box">hello world</div>');</script><style>.box{width: 100px;height: 100px;background: red;}</style>

 如果在文档已完成加载后执行 document.write,整个 HTML 页面将被覆盖
在文本字符串中使用反斜杠\对代码行进行换行
<script>
document.write("你好 \
世界!");
</script>
弹出警告框 window.alert() - - - 测试常用
 
<button type="button" onclick="alert('欢迎!')">点我!</button>
    <script>window.alert(5 + 6);</script>
改变HTML内容 - - - innerHTML
 
    <p id="demo">JavaScript 能改变 HTML 元素的内容。</p><script>function myFunction() {// x = document.getElementById("demo");  // 找到元素// x.innerHTML = "Hello JavaScript!";    // 改变内容document.getElementById('demo').innerHTML = 'Hello JavaScript!'}</script><button type="button" onclick="myFunction()">点击这里</button>
console.log 写到控制台
 
JavaScript 语句标识符 (关键字)
| 语句 | 描述 | 
|---|---|
| break | 用于跳出循环 | 
| catch | 语句块,在 try 语句块执行出错时执行 catch 语句块 | 
| continue | 跳过循环中的一个迭代 | 
| do … while | 执行一个语句块,在条件语句为 true 时继续执行该语句块 | 
| for | 在条件语句为 true 时,可以将代码块执行指定的次数 | 
| for … in | 用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作) | 
| function | 定义一个函数 | 
| if … else | 用于基于不同的条件来执行不同的动作 | 
| return | 退出函数 | 
| switch | 用于基于不同的条件来执行不同的动作 | 
| throw | 抛出(生成)错误 | 
| try | 实现错误处理,与 catch 一同使用 | 
| var | 声明一个变量 | 
| while | 当条件语句为 true 时,执行语句块 | 
var 声明变量
    <script>// 一行声明多个变量var name = 'tom',age = 12,gender = '';// 可横跨多行var name,age,gender;// x,y 为 undefined(未使用值来声明的变量), z 为 1var x,y,z=1;</script>
JavaScript 数据类型
值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined)、Symbol。
引用数据类型(对象类型):对象(Object)、数组(Array)、函数(Function),还有两个特殊的对象:正则(RegExp)和日期(Date)。
typeof 查看变量的数据类型
<script>
document.getElementById("demo").innerHTML = typeof false + "<br>" +typeof {name:'john', age:34};
</script>
创建数组
    <script>var cars=new Array();cars[0]="Saab";cars[1]="Volvo";cars[2]="BMW";// var cars=new Array("Saab","Volvo","BMW");document.write(cars)document.write('<br><br>')// 注意使用分号隔开,不是逗号for(i=0;i<cars.length;i++){document.write(cars[i] + '<br>')}</script>

创建对象
    <script>var person ={firstname: "John",lastname: "Doe",id: 5566};// 得到值的两种方法  访问对象属性document.write(person.lastname + "<br>");		// Doedocument.write(person["lastname"] + "<br>");	// Doe</script>
对象方法
    <p id="demo"></p><script>var person = {firstName: "John",lastName: "Doe",id: 5566,fullName: function () {return this.firstName + " " + this.lastName;}};// 访问 person 对象的 fullName() 方法document.getElementById("demo").innerHTML = person.fullName();	// John Doe// 访问 person 对象的 fullName 属性,它将作为一个定义函数的字符串返回document.getElementById("demo").innerHTML = person.fullName;	// function () { return this.firstName + " " + this.lastName; }</script>
Undefined 和 Null
Undefined 这个值表示变量不含有值。
可以通过将变量的值设置为 null 来清空变量。
函数
    <script>function myFun(){alert('Hello World!')}</script><button onclick="myFun">点我</button>
传参
    <button onclick="myFunction('Harry Potter','Wizard')">点击这里</button>	<button onclick="myFunction('Bob','Builder')">点击这里</button><script>function myFunction(name, job) {alert("Welcome " + name + ", the " + job);}</script>
返回值
    <p id="demo"></p><script>function myFunction(a, b) {return a * b;}document.getElementById("demo").innerHTML = myFunction(4, 3);</script>
12
JavaScript 变量
    <script>var var1 = 1; // 不可配置全局属性var2 = 2; // 没有使用 var 声明,可配置全局属性console.log(this.var1); // 1console.log(window.var1); // 1console.log(window.var2); // 2delete var1; // false 无法删除console.log(var1); //1delete var2;console.log(delete var2); // trueconsole.log(var2); // 已经删除 报错变量未定义    </script>
作用域
作用域为可访问变量,对象,函数的集合
局部作用域
    <p id="demo"></p><script>myFunction();document.getElementById("demo").innerHTML = "carName 的类型是:" + typeof carName;function myFunction() {// 局部变量在声明的函数外不可以访问var carName = "Volvo";}</script>
carName 的类型是:undefined
全局作用域
    <p id="demo"></p><script>var carName = "Volvo";myFunction();function myFunction() {document.getElementById("demo").innerHTML ="我可以显示 " + carName;}</script>
我可以显示 Volvo
    <p id="demo"></p><script>myFunction();document.getElementById("demo").innerHTML ="我可以显示 " + carName;function myFunction() {// 如果你的变量没有声明,它将自动成为全局变量carName = "Volvo";}</script>
我可以显示 Volvo
HTML 中的全局变量
在 HTML 中, 全局变量是 window 对象,所以window 对象可以调用函数内的局部变量。
 注意:所有数据变量都属于 window 对象。
    <p id="demo"></p><script>myFunction();document.getElementById("demo").innerHTML ="我可以显示 " + window.carName;function myFunction() {carName = "Volvo";}</script>
我可以显示 Volvo
事件
按钮
onclick 点击 属性
<button onclick="getElementById('demo').innerHTML=Date()">现在的时间是?</button>
<p id="demo"></p>
Tue Oct 24 2023 09:37:54 GMT+0800 (中国标准时间)
改变自身元素的内容 this.innerHTML
<button onclick="this.innerHTML=Date()">现在的时间是?</button>
点击 调用函数
    <button onclick="displayDate()">点这里</button><script>function displayDate() {document.getElementById("demo").innerHTML = Date();}</script><p id="demo"></p>
常见的HTML事件
| 事件 | 描述 | 
|---|---|
| onchange | HTML 元素改变 | 
| onclick | 用户点击 HTML 元素 | 
| onmouseover | 鼠标指针移动到指定的元素上时发生 | 
| onmouseout | 用户从一个 HTML 元素上移开鼠标时发生 | 
| onkeydown | 用户按下键盘按键 | 
| onload | 浏览器已完成页面的加载 |