zoukankan      html  css  js  c++  java
  • JavaScript中var变量引用function与直接声明function

    今天在h5开发app的过程中遇到了一个js问题,function的执行问题

    在js中声明函数function有这两种方法

    var A=function(){...}

    或者

    function A(){...}

    第一种称之为变量引用函数,因为js允许函数作为一个值传递给变量,第二种是直接声明式函数

    一直以为这两种没什么区别,然而,今天在使用过程中发现,当我使用第一种方式声明function的时候,如果如下这样:

    document.getElementById("xx").addEventListener("tap", A);
    var A=function(){...}
    //点击tap时并不会执行A

    原因很简单,如果使用第一种方法,即函数作为值赋给变量A,必须先声明A,并且赋值,一个基本的编程常识:没有声明过的变量不能使用(内存中根本不存在),变量声明必须在使用之前,实例中addEventListener根本得不到A!

    然而话说回来,如果是第二种方法,即直接声明函数的方法,那么浏览器在获取DOM结束之后,function就已经在那里了,可调用

    var 变量= 方式定义的函数,不能先调用函数,后声明,只能先声明函数,然后调用。

    function方式定义函数可以先调用,后声明。

  • 相关阅读:
    AJAX
    Django(cookie和session)
    Django(分页)
    跨站请求伪造和csrf_token使用
    Django(ORM查询联系题)
    Django(ORM查询2)
    Django(ORM查询1)
    Django(ORM常用字段)
    复习
    第二次作业:卷积神经网络 part2
  • 原文地址:https://www.cnblogs.com/devilyouwei/p/6351561.html
Copyright © 2011-2022 走看看