zoukankan      html  css  js  c++  java
  • 函数声明与表达式

    将脚本编写为函数可避免页面载入时直接执行该脚本

    函数中有代码,这些代码只能被事件激活或在函数运行时才会执行

    变量声明

    函数中声明的变量,叫做局部变量,该变量只能在函数中访问,退出函数后该变量就会被撤销;这意味着我们可以在不同的函数中声明名称相同的变量

    局部变量声明只有2种方式:var表达式、传参。代码如下所示

    var fun = function (a)
    {
    	var b = 1;
    };
    

    函数中的a、b都是局部变量

    函数声明

    这种方法会在执行前被解析,它可以存在于该函数运行代码的前后任意位置。代码如下所示

    function fun ()
    {
    	...
    };
    fun();

    fun();
    function fun ()
    {
    	...
    };
    

    运行结果都为正常

    函数赋值表达式

    这种方法是把匿名函数赋值给变量,因为赋值语句只在运行时执行,完成对该变量的解析,所以它必须存在于该函数运行代码之前。先看如下代码所示

    var fun = function ()
    {
    	...
    };
    fun();
    

    运行结果为正常;在赋值语句之前,该变量的值都缺省为undefined。代码如下所示

    fun();
    var fun = function ()
    {
    	...
    };
    

    运行结果为TypeError: fun is not a function

    命名函数赋值表达式

    一个特殊情况是将命名函数赋值给一个变量

    var fun = function set ()
    {
    	set();
    };
    set();

    运行结果为前者正常,后者失败;命名函数被赋值给了一个变量,于是该函数声明外不可见,在该函数内部却依然可见

    JavaScript语言中的命名处理规则决定了函数名在函数内部总是可见

    函数是JavaScript语言中的一等对象,可以像其它值一样被传递,如把匿名函数作为回调函数传递到异步函数中
  • 相关阅读:
    oracle 使用正则表达式获取字符串中包含的数字
    oracle 将逗号分隔的字符串转成多行记录
    sqlplus下 查看oracle 执行计划
    使用connect by 虚拟生成100条记录
    Lomsat gelral
    Legacy
    慢慢变小的序列(好题)
    Walls(扫描线)
    线段树求面积并,面积交,周长
    最小圆覆盖(随机增量||模拟退火)
  • 原文地址:https://www.cnblogs.com/johnl/p/4849678.html
Copyright © 2011-2022 走看看