Tag: 函数

为什么JavaScript“this”在Node和Browser环境中返回不同的值?

在观看了Kyle Simpson的Pluralsight 高级JavaScript课程之后,我创build了一个简单的代码片段来尝试this绑定。 我通常在SublimeText编辑器中工作,并在其中configuration了节点构build引擎,偶尔我也在浏览器中运行相同的代码。 在节点和浏览器[Chrome]中执行代码时,我注意到了程序输出中的一个区别。 以下是testingthis绑定的代码片段。 function foo() { console.log(this.bar); } var bar = "bar1"; var obj = {bar : "bar2"}; foo(); foo.call(obj); 当我使用Sublime执行它时,它将返回undefined和bar2 。 但是,当我在浏览器中执行相同的代码片段时,它会返回bar1和bar2 ,我认为这是正确的,因为variablesbar是在全局范围内定义的。 我无法理解为什么Node环境将其作为undefined返回。 请帮助。

用javascript创buildlogin代码

我正在开发一个注册系统,用户只需点击button就可以创build一个随机string。 然后,他们可以将此string发送给非用户,以便他/她可以使用它来注册。 新用户插入他/她的select和他/她收到的string的用户名和密码。 为了实现这个场景,我正在寻找一个可以创build一个随机string的javascript函数。 你可以给这个函数提供一个string,并且可以识别它是否创build它 – 会引发一个错误。 任何build立这样的系统的技巧,我在哪里可以find这样的function? 谢谢 编辑 这是一组封闭的后端用户。 我已经是会员了。 我可以创build一个string,并通过电子邮件,Skype,fb聊天,无论发送给我的朋友杰克。 我告诉他,“把你想要的任何用户名/密码,但把我把你的代码发送到registry单的”你的代码“字段,否则系统不会让你注册”。 Jake注册后,string不再有用,因为Jake创build了自己的密码,系统使用该密码进行身份validation。 这是情况。 我坚持使用Javascript,因为我打算使用node.js / express.js,所以我想我所做的任何事情,都必须用Javascript编写。 我想我可以使用像php b-crypt版本的php b-crypt这样的东西,如果存在的话。 或不。 我什至不知道如何开始,所以任何指导方针将是有用的。 谢谢

理解使用函数,数组和循环的JS编程代码

所以我需要一些帮助来理解这个代码。 我知道这个函数循环这个数组并find最大值的目标。 不过,我对“array [0]”和“array [i]”究竟是什么感到困惑。 提前致谢。 var max_value = function(array) { var result = array[0]; for (var i = 0; i < array.length; i++) { if (array[i] > result) { result = array[i]; }; } return result; } console.log(max_value([1, 50, 2]));

如何找出函数中的模块path

我有这样的代码: A.js module.exports = function() { /* Here I need to find out the path of module in which this function was called. */ }; B.js var A = require('./A.js'); A(); C.js var A = require('./A.js'); A(); 是否有可能找出模块A的哪个文件函数被调用? 我知道我可以传递__filename参数: var A = require('./A.js'); A(__filename); 但也许有另一种方式没有传递给A()的任何参数?

调用函数时不会在javascript中使用正确数量的参数时创build错误

我有这个function的JavaScript。 function func_name(param_1, param_2) { //blah blah } 有时,我不小心通过提供1个参数而不是2来调用它。 func_name(aa); 但是,脚本运行时,javascript不会产生错误。 脚本运行时,如何让javascript产生错误或警告? 这将有助于更容易地发现错误。 我正在使用node.js v6。

TypeError:uri.indexOf不是一个函数

所以我是JavaScript新手,我试图在Node.js中构build一个Web应用程序。 我想用passport.js将用户身份validation添加到我的应用程序中。 但是,当我尝试启动服务器的命令提示符时,我不断收到此错误: TypeError: uri.indexOf is not a function at checkReplicaSetInUri (C:\spectray\node_modules\mongoose\lib\index.js:115:30) at Mongoose.connect (C:\spectray\node_modules\mongoose\lib\index.js:238:40) at Object.<anonymous> (C:\spectray\server.js:15:10) at Module._compile (module.js:570:32) at Object.Module._extensions..js (module.js:579:10) at Module.load (module.js:487:32) at tryModuleLoad (module.js:446:12) at Function.Module._load (module.js:438:3) at Module.runMain (module.js:604:10) at run (bootstrap_node.js:394:7) at startup (bootstrap_node.js:149:9) at bootstrap_node.js:509:3 这是我的server.js文件: var express = require('express'); var app = express(); var port […]

如何在函数内的node.js中返回一个导入的模块?

我是一个创build一个node.js单页面的应用程序。 如果用户通过validation,我想在主页中显示特定的视图。 为此,我创build了一个函数来检查用户是否是auth。 它工作正常。 但是,当我想要返回一个特定的视图时,我会遇到一些问题。 我尝试了几种不同的方法,但是我不能返回任何视图。 意见 const notAuth = require('../view1') const isAuth = require('../view2') 这是我第一次尝试: const home = function (ctx) { if (ctx.auth) { return isAuth } else { return notAuth } } module.exports = home 然后,我试图只使用module.exports : module.exports = function home (ctx, next) { if (ctx.auth) { return isAuth } else { return […]

模块导出function

我正试图导出一个函数,使用Sendgrid发送电子邮件。 我创build了一个我创build这个函数的外部文件。 数据(作为参数使用的凭证)我把它放在其他文件中,我也导入它。 我没有得到任何的错误,但电子邮件根本没有发送。 发送邮件: module.exports = { 'sendMail': function(subject, sender_email, email, link, username, template){ var request = sg.emptyRequest(); request.body = { subject: subject, from: { email: sender_email }, personalizations: [ { to: [{ email: email }], substitutions: { '[link]' : link, '[email]' : email, '[username]': username } } ], template_id: template }; request.method = […]

在Express中将数组传递给Jade / Pug路由

我是新来expression和帕格所以原谅我,如果这是一个noob的问题,但如何将我创build的数组在一个函数的路线,将呈现帕格模板。 我最终想循环数组,并将其呈现为一个表格。 我的代码 – 首先我使用lodash map方法从一个文件接收的数据中创build数组。 *编辑 – 添加完整的代码结构 – fs.readFile(file, 'utf8', function (err, data) { if (err) { console.log('Error: ' + err); return; } var data = JSON.parse(data); var newEventList = data.events.map(events => ({ id: events.id , name: events.name , venue: events.place.name , address: events.place.location.street + " " + events.place.location.city + " " + […]

使用Node.js将Url / Path转换为Json

我最近build立了一个小节点程序,能够以一个精确的pathconsole.log所有的文件。 我从这个函数得到的结果如下所示: /Volumes/TimeCapsule/movies/movie1 movie1.mp4 /Volumes/TimeCapsule/movies/movie2 movie2.mp4 /Volumes/TimeCapsule/movies/movie3 movie3.mp4 现在我的问题是:我怎么能设法将每个path转换为JSON,所以我可以例如显示在一个HTML页面的电影文件夹的所有文件? 我想有这样的事情: { "Volumes": { "TimeCapsule": { "Movies":{ "Title": "Movie1" "Title": "Movie2" "Title": "Movie3" } } } } 先谢谢你。 顺便说一句,这里是我的散步function: var fs = require('fs'); var walk = function (currentPath) { console.log(currentPath); var files = fs.readdirSync(currentPath); //Returns array of filename in currenpath for (var i in files) { […]