JavaScript作用域

发布时间:2024-11-22 05:33

阅读Eloquent JavaScript提高JavaScript技能:https://eloquentjavascript.net/ #生活技巧# #工作学习技巧# #编程学习资源#

最新推荐文章于 2024-07-09 19:28:48 发布

置顶 不再彷惶 于 2020-07-20 12:44:01 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

全局作用域:

编写在 < script >标签内的代码
页面打开时创建,页面关闭时销毁。
在全局作用域中有个window对象(浏览器窗口),

全局作用域内的变量都会作为window的属性。
全局作用域内的函数都会作为windows的方法。

函数作用域:

编写在函数内的代码
函数执行时创建,函数结束后销毁
在函数内使用var声明的变量,也会在函数执行前声明,但是不赋值。

变量的声明: 使用var声明的变量,会在所有代码执行之前提前被声明,但是不提前赋值,运行的相应位置才赋值。

<script type="text/javascript">console.log(a);var a = 666; </script> 这样写的意思可以这样理解: <script type="text/javascript">var a;变量a在程序最开始的地方提前声明console.log(a);a = 666;运行到对应位置后开始赋值 </script> 程序输出结果为undefined ---------------------------------------------------------------------- <script type="text/javascript">console.log(a);这个会报错,因为没有定义aa = 666; </script>

12345678910111213141516

函数的声明:

<script type="text/javascript">show();可以运行show2();报错,因此此时show2为undefined,不是一个函数function show(){会在所有代码执行之前创建console.log("你好");}var show2 = function(){因为用的var,所以说会提前声明,但是为undefined,不是函数console.log("她好");} </script> 1234567891011

<script type="text/javascript">var show2 = function(){document.write(a);输出结果为undefined,因为a定义了,但是还没赋值。var a = 999;} </script> 123456

网址:JavaScript作用域 https://www.yuejiaxmz.com/news/view/186471

相关内容

Javascript基础第六天知识点以及案例:作用域、JS预解析、对象
自动化技术:用JavaScript打造轻松生活
script type=“text/JavaScript”是什么
javascript中等于(==)与全等(===)的区别说明
Javascript中点击(click)事件的3种写法
JavaScript 中,num = num
有个开发者总结这 15 优雅的 JavaScript 个技巧
Valetudo:智能家居领域的自主导航神器
CSS+JavaScript实现页面不同布局的切换 « 张鑫旭
动态规划在实际生活中的应用

随便看看