小编JS-*_*WEB的帖子

Object.is vs ===

我偶然发现了一个使用此比较的代码示例:

var someVar = 0;
Object.is(false, someVar); //Returns false 
Run Code Online (Sandbox Code Playgroud)

我知道false == 0会是true这就是为什么我们有===.

有什么Object.is不同===

javascript ecmascript-6

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

如何在本地启动http-server

我克隆了使用节点的角种子,http-server它使用以下配置完美地工作.

命令:npm start(来自项目的根目录)

package.json文件中配置:

"start": "http-server -a localhost -p 8000 -c-1",
Link to file
Run Code Online (Sandbox Code Playgroud)

但是我无法直接启动此服务器.例如:从项目的根目录,这些命令都不起作用:

>  angular-seed npm http-server  
>  angular-seed node http-server
>  angular-seed http-server
Run Code Online (Sandbox Code Playgroud)

这个(http服务器)不应该在这里可用(root,从哪里安装)?有人可以解释一下它是如何工作的,以及我如何直接从项目的根目录中使用它.

如果我在全球范围内安装它,我相信它会正常工作,但我对此并不感兴趣.

httpserver npm

24
推荐指数
2
解决办法
9万
查看次数

JavaScript'严格模式'无法按预期工作?

var test = function() {

    'use strict';

    var mapNames = {
        'name': 'City Name:',
        'coord.lat': 'Latitute:'
    };  

    for (var key in mapNames) {

        var names;

        if (mapNames[key]) {
            name = mapNames[key];
        } else {
            name = key;
        }
    }

    console.log(name);

}

test();
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我通过声明变量names和使用name而犯了一个错误.我认为'严格'模式会抓住它,但事实并非如此.在这种情况下,这不应该抛出错误吗?

javascript strict

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

在更新渲染之前,reactjs setState

我有一个react组件,并且要求在更新渲染之前设置setState(url hash change).以下是代码段:

componentConfig: function() {
   .....
   this.setState({rows: rows});  
   this.setState({loadMoreBtn: loadMoreIsVisible})
},   
Run Code Online (Sandbox Code Playgroud)

我之前正在工作,我正在调用这个方法getInitialState,它工作正常.getInitialState只触发一次,所以我无法在网址更改时更新它.我尝试了各种其他内置更新方法,componentWillReceiveProps但它们落后了一步.看起来像渲染在调用此方法之前发生.我也试图从中调用它,render但显然状态变得混乱而且它会中断.

在此输入图像描述

如此图像所示,componentRillReceiveProps始终在渲染后面.我需要在每次在url更新时渲染之前触发的内容.希望它有意义.

换句话说,我想getInitialState解决哈希变化问题.

   var React = require('react'),
    projectsData = require('./../projects'),
    ProjectsRow = require('./projects_row'),
    itemsInRow = 3,
    noOfDefaultRows = 2,
    projects = [],
    currentProjects = [],
    currentPageRows,
    currentParamKey;

var Projects = React.createClass({

    componentWillMount: function() {
        this.componentConfig(this.props);
    }, 

    componentWillReceiveProps: function(nextProps){
        this.componentConfig(nextProps);
    },

    componentConfig: function(props) {
        var rows = [],
            currentParamKey = 'projects',
            loadMoreIsVisible = true,
            i; 

        if(props.params.key) { …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

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

如何在browserify中调试js

我使用browserify进行新项目.到目前为止它确实很好用.

我有一个大问题.如何单独调试每个js文件.它将所有文件捆绑在一起,如果发生错误则指向捆绑.

我正在使用chrome和源映射,但它在调试方面并没有真正帮助.

有任何想法吗?

更新:更多信息:

我在package.json中使用此命令

"start": "watchify scripts/main.js -o scripts/bundle.js --debug",
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

并获得如上所示的错误,这是不理想的.

我相信我的源地图已开启?

在此输入图像描述

browserify

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

JavaScript设计模式 - 没有得到理想的结果

我把这段代码剪掉了.我得到aundefined.这不应该显示父函数中传递的参数值吗?

function test(a) {
    return function(a) {
        console.log('a is : ' + a); // Output: a is undefined
    }();
}

test('A should not be undefined? '); 
Run Code Online (Sandbox Code Playgroud)

javascript

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