草庐IT

function-expression

全部标签

javascript - 什么是 (function (x,y){...})(a,b);在 JavaScript 中是什么意思?

我看到了这个函数:(function(x,y,data,lbl,dot){//Functionbody...})(x,y,data[i],labels[i],dot);这是什么?功能?为什么要将函数定义放在()中? 最佳答案 在javascript中你可以有anonymous和selfinvoking函数。functionadd(a,b){returna+b;}与相同varadd=function(a,b){returna+b;}你称这些为add(10,20)您可以定义函数并立即调用它(function(a,b){returna+b

javascript - 在 node.js express 中删除请求

是否可以使用Node.js和express来删除对特定路由的请求?IE。不返回http状态或任何header?我只想关闭连接。app.get('/drop',function(req,res){//howtodroptherequesthere}); 最佳答案 要关闭连接而不返回任何内容,您可以end()或destroy()底层套接字。app.get('/drop',function(req,res){req.socket.end();});我不认为有任何方法可以在您的一端断开连接,而是让客户端一直等待直到超时(即不发送FIN)。您

javascript - 谷歌地图脚本打破 Safari TypeError : Result of expression 'document.body' [null] is not an object

我在我的网页中显示谷歌地图,它在除Safari之外的所有浏览器中都能正常工作。Safri使页面变白并且JS错误显示:TypeError:Resultofexpression'document.body'[null]isnotanobject.maps.google.com/maps/api/js?sensor=true®ion=nz&async=2&callback=initializeConfigMap:11TypeError:Resultofexpression'a'[null]isnotanobject.maps.gstatic.com/intl/en_us/mapfile

javascript - express.js(或类似)应用程序的异步初始化

考虑一个示例:我有以下express.js应用程序(请参见下面的代码片段)。我希望在整个应用程序生命周期内与数据库建立一个持久连接,并与我自己的服务建立一个持久连接(这需要异步调用才能启动)。还有一些入口点,即不仅可以通过HTTP协议(protocol)访问我的应用程序。当然,我想避免服务初始化代码重复,可能会有多个这样的异步初始化服务。/*app.js*/varapp=require('express')();//setviews,useroutes,etc.vardb=require('monk/mongoose/etc')(...);//happily,usuallyit'sas

javascript - Javascript 函数定义中的句点 (function window.onload(){})

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:JavaScriptFunctionSyntaxExplanation:functionobject.myFunction(){..}我最近看到了一些(遗留的)javascript代码,如下所示:functionwindow.onload(){//somecode}这对我来说看起来不像有效的javascript,因为您不能在标识符中使用句点,但它似乎在IE8中有效。我假设它相当于:window.onload=function(){}我在Chrome和IE9中尝试过相同的代码,但它们都引发了语法异常,所以我认为

javascript - node.js:socket.io 与 express.static

我正在运行以下server.js:module.exports=server;varexpress=require('express');varfs=require('fs');varserver=express.createServer();varport=58000;server.listen(port);vario=require('socket.io').listen(server);server.use(express.static('/',__dirname+'/../public'));server.use(express.logger());io.on('connect

javascript - "function*()"在nodejs中是什么意思?

这个问题在这里已经有了答案:Whatis"function*"inJavaScript?(4个答案)关闭8年前。我遇到了这个惯用语:function*(){...}来自这个页面https://github.com/jmar777/suspend并且不确定它是做什么的。谁能解释一下?谢谢!

javascript - 为什么我不能为命名函数表达式中同名的变量赋值?

这是一个名为test的命名函数表达式。在内部,我将123分配给一个变量,也称为test。然后记录test。该函数在控制台中打印其主体,但不是123。这种行为的原因是什么?(functiontest(){test=123;console.log(test);}());我对函数执行的解释哪里失败了?函数执行开始:test是引用函数本身的局部变量局部变量test被重新分配给数字123console.log(test)显示数字123。 最佳答案 我相信这blockecmaspec解释了这种行为。这与命名函数表达式特别相关Theproduct

javascript - IIFE void function() vs (function()) 在括号中使用 void 与包装的区别

创建模块的常见做法是将它们包裹在括号中,这样您就不会在模块外泄漏任何变量(在连接等时)。还有void运算符,它计算给定的表达式并返回undefined。(参见MDN)我想知道更喜欢在括号中包装函数而不是使用void的原因是什么。它是历史的,它是否与串联有关,否则?我知道当其中一个文件缺少分号时,您可能会遇到连接问题,这会导致严重的问题,直到您注意到为止。例子例如,module1.js(注意缺少的逗号):(function(){returnfunction(){console.log('module1.Ishouldnotbecalled');};})()和module2.js:(fun

javascript - 如何正确设置 Node、Express 和 Angular2

我正在尝试使用Node、Express、Angular2(数据库、MongoDB或SQL)设置工作区但我不确定如何正确设置组合。目前我的文件结构是这样的,打算把front-end放在public文件夹下。──package.json├──public├──routes│  └──test.js├──server.js└──views到目前为止,我的server.js看起来像这样varexpress=require('express');varmysql=require('mysql');varcookieParser=require('cookie-parser');varbodyPa