I am playing around with the Facebook's react.js library. I am trying to use their JSX syntax which describes creating a view in the following way.
/** @jsx React.DOM */
var HelloMessage = React.createClass({
render: function() {
return <div>{'Hello ' + this.props.name}</div>;
}
});
React.renderComponent(<HelloMessage name="John" />, mountNode);
Run Code Online (Sandbox Code Playgroud)
JSLint obviously does not like this ("expected an identifier and instead saw ' <';" - JavaScript syntax error), so how do I get around this in my .jshintrc file?
使用Javascript Regexp.exec函数时,我遇到了一个奇怪的问题.当多次调用new(我猜...)regexp对象的函数时,它每两次运行一次.我根本不明白为什么!
这是一个小循环示例,但它在函数中使用一次并多次调用时执行相同的操作.
for (var i = 0; i < 5; ++i) {
console.log(i, (/(b)/g).exec('abc'));
}
> 0 ["b", "b"]
> 1 null
> 2 ["b", "b"]
> 3 null
> 4 ["b", "b"]
Run Code Online (Sandbox Code Playgroud)
删除/ g时,它恢复正常.
for (var i = 0; i < 5; ++i) {
console.log(i, (/(b)/).exec('abc'));
} /* no g ^ */
> 0 ["b", "b"]
> 1 ["b", "b"]
> 2 ["b", "b"]
> 3 ["b", "b"]
> 4 ["b", "b"]
Run Code Online (Sandbox Code Playgroud)
我想有一个优化,保存正则表达式对象,但它似乎很奇怪.
这种行为在Chrome 4和Firefox 3.6上是相同的,但它在IE8中的预期(I).我相信这是有意的,但我找不到那里的逻辑,也许你能够帮助我!
谢谢