我只是想知道是否有人可以澄清为什么在JavaScript的函数回调期间使用方括号?

问题描述

因此,我目前正在通过JavaScript进行工作,经常发现自己遇到了有关信息的“信息超载”块...

我希望有人能为我澄清一下,如果我编写下面的函数,为什么在其回调时需要在函数回调括号内添加方括号?

function printReverse(arr){
    for(var i = arr.length - 1; i >= 0; i--){
        console.log(arr[i]);
    }
}

函数回调:

printReverse([3,4,5,6])

我要描述的方式是:使用方括号,以便将其中的数字定义为数组变量参数。由于由于不知道我们可能需要多少而未进行定义,因此根据用户输入进行定义。

但是为什么要用方括号?为什么只使用括号会出现错误?这与JavaScript将方括号内的变量元素识别为“数组值”有关吗?

请随时调整任何逻辑等。我只想将我的笔记分解为字面基础!也欢迎您阅读其他任何内容

谢谢。

解决方法

回调是当您传递 function 作为参数时(然后由传递给它的函数调用)。这里没有回调。

在此情况下,方括号表示数组。

该数组是传递给========================================================================= JBoss Bootstrap Environment JBOSS_HOME: /opt/jboss/wildfly JAVA: /usr/lib/jvm/java/bin/java DB_CONNECTION_URL: jdbc:mysql://127.0.0.1:13306/dbt?serverTimezone=UTC JAVA_OPTS: -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true --add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED --add-exports=jdk.unsupported/sun.reflect=ALL-UNNAMED ========================================================================= 11:00:34,362 INFO [org.jboss.modules] (main) JBoss Modules version 1.10.1.Final 11:00:34,854 INFO [org.jboss.msc] (main) JBoss MSC version 1.4.11.Final 11:00:34,863 INFO [org.jboss.threads] (main) JBoss Threads version 2.3.3.Final [...] 参数的值。

没有方括号,您没有数组,而是传递了4个独立的参数。该代码尝试将第一个视为数组,但是它是一个数字,因此会出错。