文档章节

JavaScript私有作用域

23fss
 23fss
发布于 2014/03/21 10:13
字数 315
阅读 445
收藏 4

私有作用域的优点

减少全局变量,避免命名冲突, 减少闭包占用内存问题,因为没有指向匿名函数的引用。只要函数执行完毕,就可以立即销毁其作用域。 因为没有指向匿名函数的引用,匿名函数的作用域链在代码执行后销毁。

匿名函数

匿名函数表达式提供了创建私有作用域的方法

    <!-- lang:js -->
    (function(){
    	//块级作用域
    })();

很多人感到这样很奇怪,那么看下面,你就很熟悉了 <!-- lang:js --> var func = function(){ //块作用域 } func(); OK,那么根据这个原则,(function(){})()就不会感到陌生了,第一个小括号是将匿名函数包裹起来,看做一个整体的函数对象,第二个括号很明显是一个函数调用的括号 栗子

    <!-- lang:js -->
    (function(){
        alert('匿名函数');
    })();

再来一个栗子

    <!-- lang:js -->
    (function(x,y){
        alert(x+y);
    })(10,100);

注意:最后的分号,这是一个调用函数

最后的栗子

加深一下印象,计算1到100的和

    <!-- lang:js -->
    (function(m,n){
        var total=0;
        if(m>=n){
            alert(" 数值范围不正确! ");
            return false;
        }
        for(var i=m;i<=n;i++){
            total+=i;
        }
        alert(total);
    })(1,100);

© 著作权归作者所有

23fss
粉丝 8
博文 53
码字总数 26893
作品 0
青岛
程序员
私信 提问
为什么JS预解释是种毫无节操的机制

前言JavaScript是一门解释型的语言 , 想要运行JavaScript代码需要两个阶段 编译阶段: 编译阶段就是我们常说的JavaScript预解释(预处理)阶段,在这个阶段JavaScript解释器将完成把JavaScrip...

peakedness丶
2018/12/07
0
0
JavaScript 预解释分析

#预解释 1. JS基础知识 1.1 先介绍js的基本数据类型 基本数据类型 --- 值操作 有number、string、boolean、null、undefined 引用数据类型 ---- 引用地址 object、array、Date 1.2 执行环境 ...

dafeige
2018/12/18
0
0
深入浅出Javascript闭包

一、引子 闭包(closure)是 Javascript 语言的一个难点,面试时常被问及,也是它的特色,很多高级应用都要依靠闭包实现。本文尽可能用简单易懂的话,讲清楚闭包的概念、形成条件及其常见的面...

浪里行舟
2018/11/17
0
0
JavaScript的闭包及函数重载

JavaScript的闭包及函数重载 闭包的概念 什么是闭包 说到JavaScript的闭包,需要先说一说JavaScript的作用域。 JavaScript在ECMA6之前,作用域是只有全局作用域跟函数作用域的。(这里先不涉...

csming1995
05/10
0
0
干货!你一直想知道的关于JavaScript scope的一切

对于一个JavaScript初学者(甚至是有经验的JavaScript开发者)而言,JavaScript语言中关于“域”(scope)的一些概念并不是那么直白或是容易理解的。 由此,这篇文章旨在帮助那些在听说过诸如...

bgmemo
2014/01/25
5.4K
1

没有更多内容

加载失败,请刷新页面

加载更多

好程序员Java教程分享Zookeeper基本原理与运用场景

好程序员Java教程分享Zookeeper基本原理与运用场景一、什么是Zookeeper? zookeeper是一个分布式的一致性协调服务。 换句话说,也可以把zookeeper看成一个小型的分布式文件系统。但是和FastD...

好程序员官网
21分钟前
6
0
mysql表情符

1 修改表字段为utf8md4 ALTER table property_info MODIFY `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL 2 MySQL数据库服务器配置文件mysqld.cn......

干死it
40分钟前
4
0
正则表达式的基本语法

本文摘自LTP.NET知识库。 正则表达式的形式一般如下: /love/ 其中位于“/”定界符之间的部分就是将要在目标对象中进行匹配的模式。 用户只要把希望查找匹配对象的模式内容放入“/”定界符之...

木庄
42分钟前
4
0
java 框架有哪些?

十大常用框架: 一、SpringMVC 二、Spring 三、Mybatis 四、Dubbo 五、Maven 六、RabbitMQ 七、Log4j 八、Ehcache 九、Redis 十、Shiro 延展阅读: 一、SpringMVC Spring Web MVC是一种基于J...

java框架开发者
43分钟前
10
0
细谈Mysql事务

文章原创于公众号:程序猿周先森。本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号。 上一篇着重谈到了MySQL锁的概念,里面谈到了事务的概念,其实大部分开发者对于事务肯定不陌生,...

程序猿周先森
51分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部