JavaScript中实现块作用域的方法
发布时间:2024-04-16 10:38:39
标签:JavaScript,块作用域
例如下面这段代码
{
var temp = "12";
}
alert(temp); //输出 12
如果按照通常的编程经验,那么alert函数是不可以访问到temp变量的,因为它在另外一个块中,但是在JavaScript中,却没有块作用域的概念,所以这种语法对JS不起作用,但是我们在写JS程序的时候,尤其是比较大的程序或是程序库,为了防止命名冲突,又需要一种控制变量作用域的机制,所以这里介绍一种比较普遍的方式,来实现块作用域的概念,代码如下:
(function() {
var temp = "123";
})();
alert(temp);//输出错误
如上面的代码,定义了一个函数表达式,然后马上调用它,这种形式模仿了块作用域的概念,保护了块内的命名空间,这种方式在一些比较大的程序库中很好用
(例如JQuery),有效的避免了命名冲突。事实上JQuery正是使用的这种方式来实现块作用域的。


猜你喜欢
- 在MySQL中,如何实现Top N及M至N段的记录查询?我们可以利用MySQL中SELECT支持的一个子句——LIMIT——来完成这项功能。
- plt是最常用的接口1. 画图的基本步骤1.导入模块import matplotlib as mplimport matplotlib.py
- 本文总结了YiiFramework入门知识点。分享给大家供大家参考,具体如下:创建Yii应用骨架web为网站根目录yiic webapp /
- mysqldumpslow是mysql自带的用来分析慢查询的工具经常使用几个命令-s ORDER what to sort by (al,
- 实例如下所示:from pandas import *from random import *df = DataFrame(columns=
- 目录[redis 调用Lua脚本](#redis 调用Lua脚本)[redis+lua 实现评分排行榜实时更新](#redis+lua 实现
- Django RBAC权限管理概述RBAC(Role-Based Access Control,基于角色的访问控制),通过角色绑定权限,然后
- 简介:轮廓发现是基于图像边缘提取的基础寻找对象轮廓的方法,所以边缘提取的阈值选定会影响最终轮廓发现结果。代码如下:import cv2 as
- 对网站的LOGO设计做了一些归纳,希望得到批评,发现写的太长了,又不忍心删减,就分成两部分了,第一部分是有关设计基础的。第二部分是关于网站L
- 使用背景逛社区发现许多人在解决删除文件夹中非图片文件,删除文件夹中图片等问题的时候,都写了很多代码取实现这一功能,我当时就纳闷了,能几行代码
- 一直用的TensorFlow(keras)来完成一些工作,因许多论文中的模型用pytorch来实现,代码看不懂实在是不太应该。正好趁此假期,
- 客户端调用XMLHTTP的过程很简单,只有5个步骤: 1、创建XMLHTTP对象 2、打开与服务端的连接,同时定义指令发送方式,服务网页(U
- 你用过css么?当然,我是指你喜欢做网页的话,用过?很好,那你用过它的特效么?没有?那请跟我来。让我先
- 微信小程序image组件binderror使用例子(对应html、js中的onerror)官方文档 binderrorHandle
- 前言大家好,我们今天来爬取c站的高校名单,把其高校名单,成员和内容数获取下来,不过,我们发现这个网站比我们平时多了一个验证,下面看看我是怎么
- 写在前面:前一段时间 kejun 给我们培训JavaScript的时候,在幻灯片上推荐了很多特别经典的文章,其中就有这一篇。读过之后感觉很不
- 虽然python是万能的,但是对于某些特殊功能,需要c语言才能完成。这样,就需要用python来调用c的代码了具体流程:c编写相关函数 ,编
- 使用Python开发的同学一定听说过Requsts库,它是一个用于发送HTTP请求的测试。如比我们用Python做基于HTTP协议的接口测试
- 本文实例讲述了Flask教程之重定向与错误处理。分享给大家供大家参考,具体如下:Flask类有一个redirect()方法. 当我们调用它时
- 本文实例讲述了Python3实现爬取简书首页文章标题和文章链接的方法。分享给大家供大家参考,具体如下:from urllib import