Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:延迟和异步,目标就是防止页面阻塞住, 这个一定要明白
在HTML中写JavaScript代码要用<script>... </script>
标签包起来,并且
<script>
window.document.write("<h1>大家好</h1>");
</script>
<script>... </script>
标签中的属性
编号 | 属性名 | 描述 |
---|---|---|
1 | src="" |
将调用外部的js脚本,并忽略内部代码 |
2 | defer |
延迟加载外部的js脚本,直到当前html解析完成 |
3 | async |
实现外部js文件与当前的html文件解析同步进行 |
var
关键字声明变量,ES6中 使用let
关键字声明变量var
声明变量时,允许重新声明,let
声明变量时,是不允许重新声明
<script>
//申明变量用 var 关键字,变量名区分大小写
var userName = '诸葛亮';
var username = '刘备';
console.log(userName);
console.log(username);
// let username = '赵云';
// let userName = '张飞';
// console.log(username);
</script>
//*******************************************
//在 ES5 中用 var 关键字声明变量时,允许重新声明
var username = '赵云';
var username = '张飞';
//更新变量值
username = '黄忠';
console.log(username);
//在 ES6 中用 let 关键字声明变量时,是不允许重新声明
// let username = '赵云';
// let username = '张飞';
// console.log(username);
//1.函数作用域(函数内定义的变量)
//2.全局作用域(函数外部的变量)
//3.js ES5 中不支持块作用域,但在 ES6中支持
//全局作用域
var username = '赵云';
function text(){
//函数作用域
var age = 18;
//在函数作用域中可以直接访问全局作用域中的变量
console.log("姓名:"+username+"-"+"年龄:"+age);
}
text();
//在全局作用域中不能访问函数作用域中的变量
console.log("姓名:"+username+"-"+"年龄:"+age);
//块作用域
if(true){
//声明块作用域中的变量
let username1 = '王宝强';
//内部可以访问
console.log("你好!"+username1);
}
//外部无法访问块作用域中的边量
console.log("你好!"+username1);