小编Xot*_*750的帖子

为什么(参数中的var i)不起作用?

我是JavaScript的新手.我试图弄清楚为什么这不起作用:

function myFunction(){
    document.getElementById("result").value=add(1,2);
}
function add(){
    var sum = 0;
    for(var i in arguments)
        sum += i;
    return sum;
}
Run Code Online (Sandbox Code Playgroud)

这输出001.为什么?

javascript arguments loops key-value

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

JavaScript上带有正则表达式的页面上的所有链接

我正在尝试提取具有以下标记的网页上的所有链接:

<a href="/item/0/100">0</a>
<a href="/item/1/100">2</a>
<a href="/item/2/100">3</a>
<a href="/item/3/100">4</a>
<a href="/item/4/100">5</a>
Run Code Online (Sandbox Code Playgroud)

基本上返回所有/item...路径.我有包含这个的dom对象.知道怎么做吗?

谢谢!

编辑:使用jQuery与Map返回(截断)

    http:undefined
    { '0': '/item/200/13/0',
      '1': '/item/200/1/0',
      '2': '/item/200/4/0',
      '3': '/item/200/5/0',
      '4': '/item/200/11/0',
      length: 4,
      prevObject: 
       { '0': 
          { _ownerDocument: [Object],
            _childNodes: [Object],
            _attributes: [Object],
            _nodeName: 'a',
            _childrenList: null,
            _version: 3,
            _nodeValue: null,
            _parentNode: [Object],
            _readonly: false,
            _tagName: 'a',
            _created: true,
            _attached: true,
            _attachedToDocument: true },
         '1': 
...
Run Code Online (Sandbox Code Playgroud)

javascript regex jquery node.js

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

在JavaScript中生成平滑随机趋势(随机漫游)

我正在寻找随机游走/随机趋势算法的JavaScript实现.我需要一些能够坚持趋势的东西(所以,只是普通的随机增量),同时仍然保持在一些指定的边界内.我尝试通过基于加权平均值选择数字来写出一些东西(重量是使用高斯函数计算的),最后是一条稍微平滑的线(不够好).然后,我采取了一种不那么直接的方法,并试图在互联网上搜索,虽然我发现了一些概述,但没有什么特别的,我理解.

事实证明(我最初并没有意识到这一点),似乎已经有一系列算法使用高斯方程来产生随机趋势.但是,尽管经过了数小时的搜索,我找不到对我没用的抽象方程式.我能找到的最好的是这个博客,他展示了我正在寻找的随机数据图片.他列出了方程,但我不知道那些实际上应该是什么意思(对我来说,它似乎不是一个完整的解决方案).

已经有哪些算法(最好是JavaScript或类似C的实现)来生成这样的数据?

javascript algorithm gaussian random-walk

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

requireJS将配置信息传递给所有带"*"通配符的模块

我需要使用requireJS将配置值传递到我的所有AMD模块中.

通过使用以下示例,我可以愉快地将配置值传递给特定模块; 如requireJS API配置模块文档中所述

requirejs.config({
    config: {
        'bar': {
            raw: true
        },
        'baz': {
            raw: true
        },
        ...
    }
});
Run Code Online (Sandbox Code Playgroud)

以上工作正常,但我有50个模块,我想传递相同的配置值,这些可能会增加或改变.我可以定义50个模块名称,如上所述,并传递值,但我真的不想按名称定义每个模块并维护该列表,而是我想做这样的事情.

requirejs.config({
    config: {
        '*': {
            raw: true
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

我已经尝试过以上但是没有用.

requireJS配置映射似乎支持"*"通配符,但我没有看到任何类似的"配置".我已经搜索过了,但我想我的搜索日期很糟糕.

所以,问题是:"config"是否有"*"通配符支持,我只是遇到了问题?或者还有其他方法可以实现这一目标吗?

javascript configuration amd requirejs

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

使用地图的胖箭头用法

JavaScript新手在这里.在尝试使用带有胖箭头的Arrray.map时,我遇到了编译错误.下面是我的示例代码以及错误.

var employeesWithComplexLocation = [{
  "name": "jon",
  "location": {
    "country": "usa",
    "city": "austin"
  }
}, {
  "name": "jane",
  "location": {
    "country": "usa",
    "city": "houston"
  }
}, {
  "name": "mary",
  "location": {
    "country": "usa",
    "city": "dallas"
  }
}];

var employeesWithOnlyCity = employeesWithComplexLocation.map(function(element) {
  return {
    name: element.name,
    location: element.location.city
  };
});


console.log(employeesWithOnlyCity);
console.log('Now using fat arrow:')

employeesWithOnlyCity = employeesWithComplexLocation.map(e => {
  name: e.name,
  location: e.location.city
});

console.log(employeesWithOnlyCity);
Run Code Online (Sandbox Code Playgroud)

Array.map按预期使用匿名函数工作,但是当我使用胖箭头时,会给出以下错误.

employeesWithOnlyCity = employeesWithComplexLocation.map(e => {
  name: e.name,
  location: e.location.city
});

SyntaxError: Unexpected token …
Run Code Online (Sandbox Code Playgroud)

javascript functional-programming

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

为什么当我执行这个创建新Number对象的JavaScript语句时(使用new运算符),Chrome和FireFox的结果会有所不同?

我是JavaScript的新手,我有以下疑问:我正在做一些内置的funcion构造函数概念的实验.

所以我试图使用new运算符构建一个新的Number对象.

如果我打开Chrome开发者工具,并在控制台中执行此声明:

var a = new Number(3);
undefined
a;
Number {[[PrimitiveValue]]: 3}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我首先使用new运算符创建一个新的Number对象,然后执行此对象并获取其值:Number {[[PrimitiveValue]]:3}

问题是,如果我在FireFox中FireBug做同样的事情,我会获得不同的东西,我得到了这个:

var a = new Number(3);
undefined
a;
Number {}
Run Code Online (Sandbox Code Playgroud)

因此,使用FireFox,做同样的事情,似乎创建了Number对象,但是这个对象是空的,并且不包含Chrome中3值.

为什么?这怎么可能?我错过了什么?

当我执行时,另一个疑问与前一个对象创建的确切工作方式有关:

var a = new Number(3);
Run Code Online (Sandbox Code Playgroud)

好的,我正在使用函数contructure concept关联到new运算符.据我所知(但如果我做错了断言,请纠正我),当我使用new运算符执行函数时会发生:

  1. 它创建了一个新的空对象.所以在这种情况下,它创建了一个新的Number对象,它应该是一个JavaScript对象,它具有设置为Number对象引用的proto变量,因此该对象可以访问为Number定义的所有方法(遵循原型继承概念)由JavaScript实现).

  2. 这个可变的推杆进入该函数的执行上下文设置好的到新创建的对象的参考.

  3. 该参数用于设置对象属性.所以在这种情况下,该值将为3.

我为什么这样做:

var …
Run Code Online (Sandbox Code Playgroud)

javascript javascript-objects

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