我使用Node JS进行web应用程序开发。我在require()模块中有一个混乱。我需要一个位于file_handler目录中的JS文件。以下两种情况之间的区别是什么?
//在server.js中
var chat = require("./file_handler/chat.js"); // Does not work
或
var chat = require("./file_handler/chat.js")(); // It works
为什么额外的括号在语句的最后?
我有两个文件,我试图将一个变量从一个传递到另一个。tcp.js接收到变量,但是如果变量在data.js中发生变化,tcp.js将不会看到变化。有什么方法可以让tcp.js看到变化吗?
data.js
var {eventEmitter} = require('./events.js');
var storedData = 'Hello from Data';
var myEventHandler = function (data) {
console.log(data)
storedData = data;
}
eventEmitter.on
所以,第一个问题我找不到答案。也许有足够的理由来问我自己的第一个问题。如果在backbone.js的范围之外可以找到答案,很抱歉。
在backbone.js应用程序中,我需要访问不同函数中的几个变量,因此我必须使用一些全局变量设置。
我想知道我目前的解决方案是否可以接受/良好的实践。我的IDE (想法)似乎认为它不是:
var MyModel = Backbone.Model.extend({
initialize:function(){
var myGlobalVar, myOtherGlobalVar;//marked as unused local variable
},
myF
我正在工作的角度4应用程序。当我运行这个应用程序时,它会抛出这个错误-
ERROR Error: Uncaught (in promise): TypeError: index_1.EmployeeBase is not a constructor
TypeError: index_1.EmployeeBase is not a constructor
at new EmployeeDetailComponent (employee-detail.component.ts:112)
at createClass (core.umd.min.js:97)
at cre
我只是想知道这两者有什么区别
File1.js
$(function()
{
function MyFunction()
{
// some code here
}
});
File2.js
$(function()
{
// call it.
MyFunction();
});
File1.js
function MyFunction()
{
// some code here
}
File2.js
$(function()
{
// call it.
MyFunction();
有没有人能解释这种行为?以及如何将a作为新的对象实例私下处理?谢谢
var a = {};
var b = function(obj) {
obj.z = 10;
return obj;
};
console.log("---");
console.log(a); // a = {}
b(a);
console.log(a); // a = {z: 10} -- why is a affected? it's not a = b(a);
(function(obj){
obj.x = 9;
console.log(obj);
})(a);
conso
我对react组件的测试如下(基于):
// MyComponent.test.js
import { mount } from 'enzyme';
import MyComponent from './MyComponent.jsx';
describe('<MyComponent />', () => {
let props;
let state;
let mountedComponent;
// The problematic part to be changed
const component
我正在看一篇关于如何制作javascript游戏的教程,但我被困在了返回部分。为什么会有{ },init: init的作用是什么?任何帮助都将不胜感激。谢谢。
var JS_SNAKE = {};
JS_SNAKE.game = (function () {
var ctx;
var xPosition = 0;
var yPosition = 0;
var frameLength = 500; //new frame every 0.5 seconds
function init() {
$('body').append('<ca
在一个文件(otherFile.js)中,我有以下内容:
exports = function() {}
在我的主文件中,我有这样的内容:
var thing = require('./otherFile.js');
new thing();
然而,这给我带来了以下错误:
TypeError: object is not a function
如果我在otherFile.js中使用了以下内容:
exports.myFunction = function() {}
在我的主档案里我有这样一个:
var thing = require('./otherFile.js'
我正在学习js教程,然后我注意到用这种方法创建类/对象
//create a Book like class function (construct),
//pretty normal unti I've learnt, except for the return part
var Book = function(name){
this.name = function(){
return name;
}
}
//then using the new operator, create and object of Book sending the "
我正在为同事搭建一个Frida测试平台,我不熟悉JavaScript和Node.JS,我想创建一个单独的JS文件来导入其他几个JS文件,每个JS文件都有几个函数。但是,当我对导入其他函数的一些Node.JS代码使用frida编译时,REPL解释器并没有将函数/变量拉到作用域中。因此,例如:
我有一个由3个JavaScript文件组成的平面目录:
在1.js中:
'use strict';
var a = 'test';
function b() { console.log("function b"); };
在2.js中:
'use st
因此,基本上,我试图使用message.mentions.channels向特定频道发送通知。
ex !announce #announcements Today is a great day!
错误:
(node:5516) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'channels' of undefined
at Object.module.exports.execute (C:\Users\Zarko\Desktop\Stackoverflow\commands\Answ
看看下面的代码:
var pocket = {
cash: 1000,
showCash: function() {
return this.cash;
}
};
var thomas = {
name: "Thomas",
work: function() {
console.log('I don\'t want to, but I have to... work!');
},
我有下一段代码:
function Server() {
this.isStarted = false;
// var isStarted = false;
function status() {
return isStarted;
}
console.log(status());
}
var a = new Server()
当我运行它时,我会得到
ReferenceError: isStarted is not defined
at status (/a/fr-05/vol/home/stud/yotamoo/workspac
悬而未决的问题。查看Global (gtag.js)片段,我并不真正理解arguments变量的使用。
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=GA_TRACKING_ID"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){d
只有在需要时,我才使用导入函数导入javascript文件。我的函数如下所示。它们位于main.js文件和jquery中。
$(function() {
function globaltrigger(){
alert('');
}
function $import(src){
var scriptElem = document.createElement('script');
scriptElem.setAttribute('src',src);
scrip
在JavaScript中,var声明创建全局对象的属性:
var x = 15;
console.log(window.x); // logs 15 in browser
console.log(global.x); // logs 15 in Node.js
ES6引入了具有块范围的声明的词法作用域。
let x = 15;
{
let x = 14;
}
console.log(x); // logs 15;
但是,这些声明是否为全局对象创建属性?
let x = 15;
// what is this supposed to log in the browser according
构建像这样的Google script标记,在div呈现后追加,然后调用initialize (像这样初始化映射)失败,因为我已经将代码包装在一个匿名的、立即调用的函数表达式中.
(function(){
var map,infoWindow;
//lots of stuff...helper functions to initialize
var initialize=function()
{
//init the map and infoWindow and other stuff here
//manipulate the DOM h
我对Javascript还比较陌生,目前我只从事一个专门用js编写的大型项目。我读过的概念之一是
传入一个对象,通过引用传递它。
下面的代码似乎违背了js在对象情况下传递引用的规则。
var a = {b:2};
var modify = function(a) {a = {d:4}};
modify(a);
print a; //a is still {b:2}.
为什么在上面的例子中a的值没有改变?
注意:在中提到,对象是在Javascript中通过引用传递的。