Designed by 77
加载资源 ......
感谢 ♥ 作者
先不感谢了

前向引用的概念

前向引用的概念很简单,简单的理解就是使用变量前要先声明,如果使用了未声明的变量,就属于前向引用。

以JavaScript写一段代码来做一个简单示例。

console.log(nott); // Uncaught ReferenceError: nott1 is not defined
let nott = '我还没被定义呢你就想引用我';

这里,因为nott的定义在console.log之后,所以就会报nott未定义的错误,这就是前向引用。

另外的我们再来看一个例子。

console.log(nott); // undefined
var nott = '我还没被定义呢你就想引用我';

这里不会报错,是因为JavaScript非严格语法的特殊性,它使用var关键字会有一个声明提升的特性,即变量/函数的声明会提前到最前面,赋值则保留在原位置。因此打印出来的值是undefined,这也是前向引用导致的问题。

因此我们在使用变量之前必须要检查变量是否已经定义,否则就会因为前向引用而导致非预期的问题。当然了,使用一些强大的IDE会为我们检查出这些问题并给予提示。

事实上,前向引用这个概念可以从变量扩展到函数、类等。在未定义【某个东西】前使用这【某个东西】,就叫做前向引用。我想你那么聪明,一定能依此类推的。

 

"我们都曾经认为,有许多事情是不可以放手的。"

posted @ 2019-12-12 00:09  yanggb  阅读(1233)  评论(0编辑  收藏  举报