当前位置: 首页 > 知识库问答 >
问题:

控制台的嵌套自执行函数java脚本引发错误。日志()[重复]

公孙宇
2023-03-14

控制台的嵌套自执行函数java脚本引发错误。日志()https://jsfiddle.net/vivek7189/co5oeqcg/

(function(a,b){
  console.log("value a:"+a +" value b:"+b)
   (function (a,b){
    console.log("value a:"+a +" value b:"+b)
   })(20,10)
})(30,40)

共有3个答案

易祯
2023-03-14

考虑这段代码

function foo(a) {
    return function(b) {
        return a+b;
    }
}

你可以这样做

var x = foo(2);
var y = x(3); // y == 5

但这可以像“速记”一样完成

var x = foo(2)(3); // x == 5

在你的代码中,你有

console.log("value a:"+a +" value b:"+b);
  (function (a,b){
    console.log("value a:"+a +" value b:"+b);
  })(20,10)

没有分号,javcript猜错了,认为你试图做

console.log('')( ... )

你可以用几种方法让代码运行

最小-在代码中添加单个字符

(function(a,b){
    console.log("value a:"+a +" value b:"+b); // add this colon
    (function (a,b){
        console.log("value a:"+a +" value b:"+b)
    }(20,10))
})(30,40)

让你的代码更短

(function(a,b){
    console.log("value a:"+a +" value b:"+b)
    // use different syntax for the inner IIFE 
    // add a leading !, or +, or various other characters
    !function (a,b){
        console.log("value a:"+a +" value b:"+b)
    }(20,10)
})(30,40)

然而,为了避免任何陷阱,将冒号放在应该放的地方

v----- this one is optional, but may be required depending on preceding code
;(function(a,b){
    console.log("value a:"+a +" value b:"+b); // here
    (function (a,b){
        console.log("value a:"+a +" value b:"+b) // here
    }(20,10)); // here
})(30,40); // and here
昌砚
2023-03-14

用于console.log()

(function(a,b){
  console.log("value a:"+a +" value b:"+b);
  (function (a,b){
    console.log("value a:"+a +" value b:"+b);
  })(20,10)
})(30,40)
裴俊智
2023-03-14

JavaScript引擎处理

(function (a,b){
  console.log("value a:"+a +" value b:"+b);
})

作为函数调用的参数,因为引擎认为第一个控制台。log(“值a:“a”值b:“b”)在将某个内容放入括号后返回一个函数,但它不是。。。您必须让引擎明白,您不会试图调用第一个控制台的结果。日志(“值a:a”值b:b)作为一个函数,例如通过添加 控制台之后的code>或甚至(无论什么)。记录(“值a:a”值b:b),以便引擎理解它的两条语句而不是一条

 类似资料:
  • 我试图使用groovy脚本更新sling: resourceType和aem中的节点名称。每次当我运行脚本时,我都会得到“脚本执行失败错误”。

  • 用于嵌套对象或数组 或 在一定深度下,它只显示,没有进一步的细节。 这在调试时总是很烦人,因为我无法调查实际值。 为什么(或V8)实现这样?和是否有任何解决方法? 谢谢 编辑:我收到了一个建议 结果呢 < code > { " foo ":{ " foo ":{ " foo ":{ " foo ":{ " foo ":" foo " } } } } 它有点工作,但显然整个是,可能我无法在调试时对所

  • 我正在Liferay控制面板服务器管理脚本控制台中测试一个快速groovy脚本。我需要尝试一下,看看是否可以使用Liferay API以编程方式添加新用户。 我是groovy的新手,可能犯了一个新手错误。我不知道为什么会出错,我一直在努力寻找解决办法。 我正在tomcat上使用Liferay 6.2 EE sp7。 我的脚本代码是 我得到的错误是: groovy.lang.缺少方法异常:没有方法的

  • 嘿,我想知道控制台中的输出是否可能与文件输出中的输出相同。 这是我的XML配置。 滚动文件中的输出 在控制台中为空。但是现在如果我改变 到"追踪" 将是2,4,6。。。。在控制台和我的文件中,它将是1,3,5,7。。。这很容易理解。 但是我的问题是,我们如何在控制台和文件中同时拥有相同的日志级(跟踪)输出?(添加包名称和级别的标签不起作用) 与此问题相关: log4j2 xml配置-登录到文件和控

  • 问题内容: 我想建立一个自动化测试,所以我必须知道chrome控制台中出现的错误。 是否有一个选项来获取出现在控制台中的错误行? 为了查看控制台:右键单击页面中的某处,单击“检查元素”,然后转到“控制台”。 问题答案: 我不知道C#,但这是可以完成此工作的Java代码,希望您可以将其转换为C# 注意上面代码中的setUp方法。我们使用LoggingPreferences对象来启用日志记录。日志有几