`
xiemingmei
  • 浏览: 207171 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

尽量限制JS变量作用域是局部的

阅读更多
大家(至少是我)习惯这么写js吗? 这样暴露了变量作用域成为整个页面,扩大了变量冲突的可能:
<script language="javascript"> 
var t =1;
alert(t);

var t = 2;
alert(t);

var t;//全局变量
alert(t);
</script>


为限制JS变量作用域在防范内,防止方法中变量与全局变量冲突而导致的影响,改成:
<script language="javascript"> 
(function(){
   var t =1;//局部变量
   alert(t);
})();

(function(){   
  var t = 2;//局部变量
   alert(t);
})();

var t;//全局变量
alert(t);
</script>


另外,还可以传递参数进匿名的function,如下:
<script language="javascript"> 
(function(t){
   alert(t);
})('hello world!');
</script>


分享到:
评论

相关推荐

    函数的全局和局部作用域和变量-作用域.html

    函数的变量和作用域 /全局变量和全局作用域指的是变量或者函数的位置 ... // 局部作用域:任何一个函数的内部都有一个局部作用域,在局部作用域中定义的变量 局部变量。局部变量只有在定义该变量的函数中可以访问

    深入理解变量作用域

    当然我们知道全局变量是全局对象的属性,而局部变量是一个特殊的调用对象的属性,那么我们就可以再次关注一下变量作用域的表示法,对它进行再定义。有关作用域的新描述给理解多环境下的变量提供了一种有用的方法,它...

    关于JavaScript中var声明变量作用域的推断

    一、迷思!由一段代码引发的疑惑 请看如下代码: 代码如下: for... 如果JavaScript中用var声明的变量可视为局部变量,那么能访问到这个变量的作用域就是这个变量的局部作用域。如上例,在console.log行处,依然有j、k

    Web前端开发技术-认识函数作用域.pptx

    不同作用域对应的变量:全局变量、局部变量、块级变量(ES6提供的)。 函数作用域 全局作用域 块级作用域 1.作用域分类 全局变量和局部变量 JavaScript 认识函数作用域 全局变量:不在任何函数内声明的变量(显示...

    理解JavaScript变量作用域更轻松

    本文不打算深入讲解JavaScript变量作用域问题(其实本人也没有能力能把这一话题讲的深入些),也不讲“闭包”话题,本文只讨论最实用的JavaScript作用域知识点。 一、JavaScript作用域分类 JavaScript就两种作用域:...

    javascript中的变量作用域以及变量提升详细介绍

    变量作用域分为局部作用域和全局作用域。 局部变量(处于函数级别的作用域)不像其他对面对象的编程语言(比方说C++,Java等等),javascript没有块级作用域(被花括号包围的);当是,javascript有拥有函数级别的...

    Javascript变量作用域详解

    JS中变量的作用域分为全局变量和局部变量,函数内定义的称为局部变量,函数外的称为全局变量。(“函数外的称为全局变量”是相对的,另此处讨论的前提是用var显式声明的变量,函数内不用var定义的变量默认是全局变量...

    理解JavaScript作用域和作用域链

    在JavaScript中,变量的作用域有全局作用域和局部作用域两种。在代码中任何地方都能访问到的对象拥有全局作用域,一般来说以下几种情形拥有全局作用域:(1)最外层函数和在最外层函数外面定义的变量拥有全局作用域...

    JavaScript程序设计课件:变量的作用范围.pptx

    作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突。 2.2.4 变量的作用范围 2、作用域的分类 作用域 全局作用域 整个script标签或则是一个单独的js的文件 局部作用域 在函数内部就是局部...

    JavaScript变量作用域及内存问题实例分析

    主要介绍了JavaScript变量作用域及内存问题,结合实例形式分析了javascript全局变量、局部变量、块级作用域等概念及内存优化问题相关操作技巧,需要的朋友可以参考下

    深入理解JavaScript作用域和作用域链

    作用域是JavaScript最重要的...在JavaScript中,变量的作用域有全局作用域和局部作用域两种。 1. 全局作用域(Global Scope) 在代码中任何地方都能访问到的对象拥有全局作用域,一般来说一下几种情形拥有全局作用域: (1

    深入理解JS中的变量及作用域、undefined与null

    1、Javascript变量作用域 javascript中,变量主要分为局部变量和全局变量两种,对应的作用域也是局部作用域和全局作用域。 1 局部变量和作用域 局部变量一般在函数体内部声明使用: function func(){ var i=12;//...

    js作用域和作用域链及预解析

    js中没有块级作用域—一对括号中定义的变量,这个变量可以在大括号外面使用 函数中定义的变量是局部变量 作用域链:变量的使用,从里向外,层层的搜索,搜索到了就可以直接使用了 层层搜索,搜索到0级作用域的时候,如果...

    JavaScript作用域示例详解

    作用域是JavaScript最...在JavaScript中,变量的作用域有全局作用域和局部作用域两种。 一、JavaScript中无块级作用域 在Java或C#中存在块级作用域,即:大括号也是一个作用域。 public static void main () { if

    js静态作用域的功能。

    当调用一个function时,就会创建一个新的作用域,在这个作用域中用var定义的变量就是局部变量,一般情况下function执行结束之后这个调用时所创建的作用域就会被系统回收。 在function圈套定义时,如果里面定义的...

    JS变量及其作用域

    1、 变量及其作用域:变量分为“全局变量”和“局部变量”,“全局变量”申明在函数外部,可供所有函数使用,而“局部变量”申明在函数体内部,只能在定义该变量的函数体内使用。 (备注:在申明变量时没有var...

    详解JavaScript 作用域

    变量在函数内声明,变量为局部作用域。 局部变量:只能在函数内部访问。 // 此处不能调用 carName 变量 function myFunction() { var carName = Volvo; // 函数内可调用 carName 变量 } 因为局部变量只作用于函数...

    JavaScript作用域、闭包、对象与原型链概念及用法实例总结

    1 JavaScript变量作用域 1.1 函数作用域 没有块作用域:即作用域不是以{}包围的,其作用域完成由函数来决定,因而if /for等语句中的花括号不是独立的作用域。 如前述,JS的在函数中定义的局部变量只对这个函数内部...

Global site tag (gtag.js) - Google Analytics