感受JavaScript之美

Posted 面包理想

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了感受JavaScript之美相关的知识,希望对你有一定的参考价值。

当程序在浏览器中运行的时候,js引擎会产生三个东西。

1.全局对象js程序任何地方都能访问到的对象,在浏览器中是window。

2.this变量指向window。

nodejs this是什么?

3.外部环境

暂时不讲。

好,知道了js引擎怎么折腾你的代码,那么我们看看执行上下文,也就是管理正在运行的程序的部分是如何工作的。

不废话是时候该上代码了。

console.log(a);
var a =12;
b();
function b(){
 console.log(5);
}

结果是啥你想对了没?

为什么这样?

感受JavaScript之美(2)

▲因为有一个变量声明提升的过程。

记住一句话,变量声明提前,赋值原地不动。函数声明直接提前。

这里再来一个问题为什么这样?

说这个之前先说一个例子:

console.log(a);![js运行原理创建](/Users/L/腾讯课堂/深入了解js/js运行原理创建.png)![js运行原理创建](/Users/L/腾讯课堂/深入了解js/js运行原理创建.png)
b();
functon b(){
 console.log(5);
}

→这里要注意,undefined,是一个值,不等于不定义变量。

程序执行和人眼阅读类似,从上到下,从左到右,执行过去的不会再回去执行一遍。

执行过程,函数执行和销毁过程。

函数就像刷盘子,你懂得,后进先出。

变量预解析,赋值外部环境之间的关系。

↓为什么有预解析?

ES6作用域,let关键字块级作用域

var

let

☆作业:寻找各大公司函数预解析题目10道题,要求做对8道!

如果做不对,继续找,直到合格。

→如需资料和更多交流,可以联系面包君。←

未完待续......

(下一篇讲:对象、类型、操作符)


以上是关于感受JavaScript之美的主要内容,如果未能解决你的问题,请参考以下文章

感受JavaScript之美

感受JavaScript之美

JavaScript函数之美~

JavaScript之Ajax之美~

JavaScript函数之美~

JavaScript函数之美