Author:Mr.柳上原
- 付出不亚于任何的努力
- 愿我们所有的努力,都不会被生活辜负
- 不忘初心,方得始终
俗话说
读书百遍,其义自见
真的是有道理的
特别是像我这种初学前端的小白
以前从未接触过任何代码方面的知识
在学习html+css的时候,觉得还行,前端果然入门简单,后期也不算难
还一直在沾沾自喜
觉得自己是学习天才
当进入js学习阶段时
才发现自己有多么的天真
任何知识都不是简简单单就能学会
任何事也不是随随便便就能成功
当学到一个阶段,倒回去把以前的知识在看几遍
很多以前不懂的,突然就懂了
很多以前忘记了的,突然就想起了
很多以前没在意的,突然发现原来是讲过的
<!DOCTYPE html> <!-- 文档类型:标准html文档 -->
<html lang='en'> <!-- html根标签 翻译文字:英文 -->
<head> <!-- 网页头部 -->
<meat charset='UTF-8'/> <!-- 网页字符编码 -->
<meat name='Keywords' content='关键词1,关键词2'/>
<meat name='Description' content='网站说明'/>
<meat name='Author' content='作者'/>
<title>前端59期学员作业</title> <!-- 网页标题 -->
<link rel='stylesheet' type='text/css' href='css/css1.css'/> <!-- 外链样式表 -->
<style type='text/css'> /*内部样式表*/
</style>
</head>
<body> <!-- 网页主干:可视化区域 -->
<script>
// delete 删除
var a = 1;
b = 2;
delete a; // 不能删除
delete b; // 可以删除
// js解释器 (v8谷歌解释器)
// 不同的浏览器的js解释器有可能不同
// js第一阶段:编译期,对js代码进行静态分析,找到申明的变量 / 函数申明,检查语法是否符合规范
// js第二阶段:执行期,运行js代码
console.log(a);
var a = 1;
/*
编译期:
var a; // a = undefined
执行期:
console.log(a);
a = 1; // var先用再定义,会默认在顶层作用域定义var a;
// a赋值是在执行期
*/
let a = a; // 当a没有定义时,右边的a级之前的区域,为暂时性死区,TDZ,只存在于es6里
function fn(a = a) { // 当函数的形参使用默认值时,小括号内是一个临时作用域,默认是let a = a;依然为暂时性死区,会报错
alert (a);
}
// 函数为js一等公民,当函数名与变量名重名时,函数会覆盖掉变量
console.log(a); // a = function a() {}
var a = 1; // var可以重复申明,let不能重复声明
function a() {};
console.log(a); // a = 1
/*
编译期:
var a; // a = undefined
function a() {};
执行期:
console.log(a); // 第一个
a = 1; // 重新赋值
console.log(a); // 第二个
*/
function a() {
var b = 1;
console.log(b);
}
function a() {
var b = 2;
console.log(b);
}
console.log(a);
a();
var a = 5;
a();
/*
编译期:
// 重名时,函数覆盖var变量
// 重名时,后面函数覆盖前面的
function a() {
var b = 1;
console.log(b);
}
function a() {
var b = 2;
console.log(b);
} // 最后只剩下这行重名函数
var a;
执行期:
console.log(a); // a打印执行的为第二个b = 2的最后剩下的重名函数
a(); // a函数执行的为b = 2的最后剩下的重名函数作用域被激活
// 激活函数后进入函数内部的编译期
编译期:
var b;
执行期:
b = 2;
console.log(b);
// 结果为2
a = 5;
a(); // 前面函数已经执行结束,只剩下前面的变量a,a不是函数时,加小括号直接报错
*/
// 同级function内变量的调用:传参
let a = 1;
function fn(a) {
console.log(a); // a = 2
}
function fn2() {
let a = 2;
fn(a);
}
</script>
</body>
</html>
网友评论