博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript之模仿块级作用域
阅读量:7052 次
发布时间:2019-06-28

本文共 491 字,大约阅读时间需要 1 分钟。

简介:在JavaScript中没有块级作用域的概念。这意味这在块语句中定义的变量,实际上在包含函数中而非语句中创建的。证明代码如下:

function outputNumbers(count){    for(var i=0;i

 下面来分析上面这个函数,上面的函数中定义了一个for循环,在Java,C#,C++等语言中,变量i只会在for循环中有定义,循环一旦结束,变量i就会被销毁,可是在JavaScript中,变量是定义在outputNumbers的活动对象中的,因此从他有定义开始,就可以在函数的内部访问到它,即使你重新申明变量,只要不给变量赋值,他只会对后面的申明视而不见,代码如下:

function outputNumbers(count){    for(var i=0;i

而JavaScript中的匿名函数可以用来模仿块级作用域并避免这个问题。

用作块级作用域(通常成为私有作用域)的匿名函数语法如下所示:

(function () {    })()

 

转载于:https://www.cnblogs.com/GreenLeaves/p/5909597.html

你可能感兴趣的文章
Day24&25&26&27:HTML+CSS
查看>>
第26天:js-$id函数、焦点事件
查看>>
iOS开发-Alpha,Hidden与Opaque区别
查看>>
CSS中nth-child和nth-of-type的简单使用
查看>>
javascript 乘法口诀表
查看>>
Windows7上完全卸载Oracle 12c操作步骤
查看>>
一个农夫进城卖驴和山羊
查看>>
Show下界面
查看>>
android 如何设置背景的透明度
查看>>
C#操作xml SelectNodes,SelectSingleNode总是返回NULL 与 xPath 介绍
查看>>
Convert Sorted List to Balanced Binary Search Tree leetcode
查看>>
Yii路径总结(转)
查看>>
pytorch基础(4)-----搭建模型网络的两种方法
查看>>
PHP编译安装参数介绍
查看>>
winsock学习1
查看>>
生产事故的优化经历
查看>>
谈谈 在 .Net 生态里为什么没有 Hadoop 系列 ?
查看>>
CentOS 6.6 nginx install
查看>>
Python UDP broadcast PermissionError: [Errno 13] Permission denied
查看>>
错误处理的思考
查看>>