相关疑难解决方法(0)

新的MyFunction()与新的(MyFunction)

我正在查看Vows文档,并在几个地方使用语法

var myVar = new(MyFunction);
Run Code Online (Sandbox Code Playgroud)

例如

var promise = new(events.EventEmitter);
Run Code Online (Sandbox Code Playgroud)

我熟悉new MyFunction()并且new MyFunction(是的,我已经读过这个问题).但上面的语法对我来说是新的 - 它看起来像一个函数调用,虽然我怀疑它只是new MyFunction添加了一些括号.这些使用方式有什么区别new吗?如果没有,使用其中一个是否有任何好的理由?我原以为new MyFunction()是最清晰的.

如果这是重复的道歉 - 我搜索但找不到它.

javascript syntax new-operator

5
推荐指数
1
解决办法
1106
查看次数

JavaScript中的新Object和新Object()之间有什么区别

可能重复:
new MyObject(); vs new MyObject;

在一些文章中,我看到以下语句在JavaScript中创建新对象:

var myObject = new Object;
Run Code Online (Sandbox Code Playgroud)

在某些地方:

var myObject = new Object();
Run Code Online (Sandbox Code Playgroud)

在两个陈述之间有什么区别,或者一个只是简写?

javascript

4
推荐指数
1
解决办法
1160
查看次数

什么是正确的Javascript运算符优先级表?

如果我在Firefox上运行以下代码,我会收到一个错误:

new Number.toString;
Run Code Online (Sandbox Code Playgroud)

但根据MDN https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence new Number应首先进行评估.所以表格我认为不正确.

我们来看看MSDN:http://msdn.microsoft.com/en-us/library/z3ks45k7(v = vs.94).aspx.在表格上方写道,操作员从左到右进行评估.但:

a=1;
b=a=2;
Run Code Online (Sandbox Code Playgroud)

现在b具有值2,表示从右到左的评估.所以这个优先表也不正确.

谁能给我一张正确的桌子?

javascript operators operator-precedence

4
推荐指数
1
解决办法
2809
查看次数

有没有一种方法可以在一行中从 require 创建一个新的 Node 对象?

我们有一个 Node.js 小部件,可以像这样导出:

module.exports = ourWidget;

然后我将其导入到我们的 server.js 中,如下所示:

var ourWidget = require('./ourWidget');
var ow = new ourWidget;
Run Code Online (Sandbox Code Playgroud)

这按预期工作,但是可以在一行中完成吗?例如:

var ow = new (require('./ourWidget'));
Run Code Online (Sandbox Code Playgroud)

这不起作用,我也尝试过:

var ow = new (require('./ourWidget')());

两者都类似于这个问题中的代码: How does require work with new operator in node.js? ,但是当我尝试运行代码时,两者都失败了。

javascript require node.js

3
推荐指数
1
解决办法
804
查看次数

新F和新F()之间有什么不同?

想想这个问题

function F(){}; //This is a Constructor function
Run Code Online (Sandbox Code Playgroud)

谁能告诉我两者之间有什么不同

var myInstance = new F; 
Run Code Online (Sandbox Code Playgroud)

var myInstance = new F();
Run Code Online (Sandbox Code Playgroud)

?无论如何,新的关键字执行后立即执行函数?

javascript constructor instance new-operator javascript-objects

2
推荐指数
1
解决办法
148
查看次数


模块中的Ajax错误:对象的状态必须为OPENED

我试图在没有首次使用jQuery的情况下向模块添加ajax方法.我在我的方法上遇到以下错误.jax():Uncaught InvalidStateError:无法在'XMLHttpRequest'上执行'send':对象的状态必须是OPENED.

我不知道如何解决这个问题.这是我的模块和一些简单的HTML.

var Test = (function (el) {

  function InnerTest () {
    this.el = el;

    //Capital letters indicate a constant that should not change.
    this.PARA = 'p'

    this.init();       
  };

  InnerTest.prototype.init = function () {
    this
        .createChildren()
        .runIt()
        .jax();
  };

  InnerTest.prototype.createChildren = function () {
    this.para = this.el.querySelectorAll(this.PARA); 

    return this;
  };

  InnerTest.prototype.runIt = function () {
    var len = this.para.length;
    for (var i = 0, item; item = this.para[i]; i++) {
        //test if browser supports the classList …
Run Code Online (Sandbox Code Playgroud)

javascript ajax

0
推荐指数
1
解决办法
2万
查看次数

Uglify正在缩小`新的Obj();'错了

我正在使用gulp和gulp-uglify来缩小我的javascript代码.

var uglify= require('gulp-uglify');
gulp.task('javascript', function() {
    return gulp.src('./scripts/*.js')
    .pipe(uglify())
    .pipe(gulp.dest('./'));
});
Run Code Online (Sandbox Code Playgroud)

原始的javascript

var Site = Site || {};
Site.Code = {
    obj: new ThirdPartyObject(),
    init: function() {
        obj.thirdPartyMethod();
    }
};
Run Code Online (Sandbox Code Playgroud)

缩小的javascript

var Site = Site || {};
Site.Code = {obj: new ThirdPartyObject,init: function() {
    obj.thirdPartyMethod()
}};
Run Code Online (Sandbox Code Playgroud)

缩小器正在删除括号obj: new ThirdPartyObject,因此当我拨打电话时我的代码会中断obj.thirPartyMethod().

我怎样才能解决这个问题?

javascript gulp gulp-uglify

0
推荐指数
1
解决办法
102
查看次数