即时函数临时作用域

<!DOCTYPE html>
<html>
<head>
    <title>即时函数临时作用域(匿名自调用函数)</title>
    <meta charset="utf-8">
</head>
<body>
    <!--这里创建了一个即时函数,并且在即时函数中还为document添加了一个click事件。这段代码为处理事件程序创建了一个闭包该闭包使numclick变量持久化。并且被事件处理函数所引用。除此之外,没有别的地方可以被引用了。 -->
    <script type="text/javascript">
        (function(){
            var numClick=0;
            document.addEventListener(‘click‘,function(){
                console.log(++numClick);
            },false);
        })();
    </script>
</body>
</html>
时间: 2024-11-06 03:27:01

即时函数临时作用域的相关文章

JavaScript基础-即时函数(Immediate Functions)

1.即时函数的声明方法 即时函数(Immediate Functions)是一种特殊的JavaScript语法,可以使函数在定义后立即执行:(function () {    alert('watch out!');}()); 下面分几部来理解这种写法: 橙色部分是一个函数表达式: 天蓝色的一对括号代表立即执行它,括号里是执行这个函数需要的参数(这个例子不需要参数): 再用一对括号(就是黑色的这一对)把上面的部分包起来. 黑色这一对括号可以让人明白这个表达式得到的是函数的返回值,而不是函数对象.

函数的作用域链的理解

1.作用域(scope):在javascript没有块级作用域,是由函数来划分的.变量和函数的作用域是在定义时决定而不是执行时决定,也就是说词法作用域取决于源码,通过静态分析就能确定,因此词法作用域也叫做静态作用域(with和eval除外).当定义了一个函数,当前的作用域链就保存起来,并且成为函数的内部状态的一部份.在最顶级作用域链仅由全局对象组成,而不和词法作用域相关,然而,当定义一个嵌套的函数时,作用域链就包括外面的包含函数.这意味着嵌套函数可以访问包含函数的所有参数和局部变量.尽管当一个函

JavaScript函数,作用域以及闭包

JavaScript函数,作用域以及闭包 1. 函数 (1). 函数定义:函数使用function关键字定义,它可以用在函数定义表达式或者函数声明定义. a. 函数的两种定义方式: * function functionName() {} * var functionName = function(){} b. 两种函数定义不同之处 1). 声明提前问题 函数声明语句   :声明与函数体一起提前 函数定义表达式 :声明提前,但是函数体不会提前 请看下面图示:绿色线上面实在js初始加载的时候,查看

关于JS函数变量作用域

这样一段代码: var a = 123 function f() { console.log(a); var a = 1; console.log(a); } 执行f(),会怎样输出呢? 你可能会想当然的第一次console.log输出的是123,也就是全局变量的值,而第二次显示是1. 但是,最先输出的是undefined. 函数的作用域始终优先于全局作用域,所以局部变量a会覆盖掉与他同名的全局变量,尽管第一次console.log的时候,a还没有被正式定义,但该变量已经存在本地空间了.即输出u

函数(Function)作用域

函数跟变量一样也是有作用域的:Global.Script.Local.Private Global:作用于整个PowerShell会话,只要PowerShell会话不结束,被Global修饰的变量和函数都是可用的. Script:仅作用于脚本执行期间,一旦脚本执行完毕,脚本中被Script修饰的变量和函数都不在可用. Local:默认作用域,变量在当前和嵌套的作用域中可见,复制操作语法能在当前的local作用域中修改变量值. Private:最严格的作用域,变量仅在当前作用域有效.通过这个关键字

函数的作用域链是由函数定义时所决定的而非调用

废话不多说,上代码: 案例1 <!doctype html> <html> <head> <meta charset="utf-8"> <title>Test</title> <script> function a() { var flag = true; b(); } function b() { console.log( flag ); } a(); </script> </hea

JavaScript-4.2函数,变量作用域---ShinePans

<html> <head> <meta http-equiv="content-type" content="text/html;charset=GB2312"/> <title> 4.2 函数和变量作用域 </title> <!--脚本部分--> <script type="text/javascript"> var v1,v2; v1=10; v2=20; f

函数和函数的作用域问题,arguments

this的值:在函数执行时,this关键字并不会指向正在运行的函数本身,而是指向调用该函数的对象.所以,如果你想在函数内部获取函数自身的引用,只能使用函数名或者使用argument.callee属性(严格模式下不可用),如果该函数是一个匿名函数,则你只能使用后者. 1.定义函数 三种方式: 1)函数声明 (function语句) function name([param[, param[, ... param]]]) { statements } name函数名. param函数的参数的名称,一

JavaScript基础--函数声明,函数的作用域链

函数声明和函数表达式区别 函数声明是通过 function 函数名(){}来声明一个函数 函数表达式是通过声明一个变量,然后赋值函数. 两者区别是,在程序执行前,会先获取函数声明声明的函数,获取变量的声明,这里变量的声明只是先开辟一个空间,然后给了个名字,之后到该变量名赋值的时候,才有值,也就是说,在未得到该变量的赋值前,使用该变量会得到undefined. 而无论你把函数放在放在程序中的开头或者结尾,函数的执行语句都能正常执行. fn();//输出   fnconsole.log(fn2);/