我偶然发现了一个使用此比较的代码示例:
var someVar = 0;
Object.is(false, someVar); //Returns false
Run Code Online (Sandbox Code Playgroud)
我知道false == 0会是true这就是为什么我们有===.
有什么Object.is不同===?
我克隆了使用节点的角种子,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,从哪里安装)?有人可以解释一下它是如何工作的,以及我如何直接从项目的根目录中使用它.
如果我在全球范围内安装它,我相信它会正常工作,但我对此并不感兴趣.
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而犯了一个错误.我认为'严格'模式会抓住它,但事实并非如此.在这种情况下,这不应该抛出错误吗?
我有一个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) 我使用browserify进行新项目.到目前为止它确实很好用.
我有一个大问题.如何单独调试每个js文件.它将所有文件捆绑在一起,如果发生错误则指向捆绑.
我正在使用chrome和源映射,但它在调试方面并没有真正帮助.
有任何想法吗?
更新:更多信息:
我在package.json中使用此命令
"start": "watchify scripts/main.js -o scripts/bundle.js --debug",
Run Code Online (Sandbox Code Playgroud)

并获得如上所示的错误,这是不理想的.
我相信我的源地图已开启?

我把这段代码剪掉了.我得到a了undefined.这不应该显示父函数中传递的参数值吗?
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)