将内容写到 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 为 1
var 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>"); // Doe
document.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); // 1
console.log(window.var1); // 1
console.log(window.var2); // 2
delete var1; // false 无法删除
console.log(var1); //1
delete var2;
console.log(delete var2); // true
console.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