JavaScript学习笔记007-js的执行
标签:
JavaScript
Author:Mr.柳上原
付出不亚于任何的努力
愿我们所有的努力,都不会被生活辜负
不忘初心,方得始终
俗话说
读书百遍,其义自见
真的是有道理的
特别是像我这种初学前端的小白
以前从未接触过任何代码方面的知识
在学习html+css的时候,觉得还行,前端果然入门简单,后期也不算难
还一直在沾沾自喜
觉得自己是学习天才
当进入js学习阶段时
才发现自己有多么的天真
任何知识都不是简简单单就能学会
任何事也不是随随便便就能成功
当学到一个阶段,倒回去把以前的知识在看几遍
很多以前不懂的,突然就懂了
很多以前忘记了的,突然就想起了
很多以前没在意的,突然发现原来是讲过的
<!DOCTYPE html> <!-- 文档类型:标准html文档 --><html lang='en'> <!-- html根标签 翻译文字:英文 --><head> <!-- 网页头部 --><meta charset='UTF-8'/> <!-- 网页字符编码 --><meta name='Keywords' content='关键词1,关键词2'/><meta name='Description' content='网站说明'/><meta 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>
作者:Mr柳上原
链接:https://www.jianshu.com/p/39cf309c63df
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦