Questions tagged «javascript»

有关在ECMAScript(JavaScript / JS)及其各种方言/实现(不包括ActionScript)中进行编程的问题。此标记很少单独使用,但最常与标记[node.js],[jquery],[json]和[html]关联。

23
如何在JavaScript中检查未定义或null变量?
我们经常在JavaScript代码中使用以下代码模式 if (typeof(some_variable) != 'undefined' && some_variable != null) { // Do something with some_variable } 有没有更冗长的检查方法具有相同的效果? 根据一些论坛和文献的说法,简单地讲,以下内容应具有相同的效果。 if (some_variable) { // Do something with some_variable } 不幸的是,当未定义时,Firebug会将这样的语句评估为运行时错误some_variable,而第一个语句就可以了。这仅仅是Firebug的一种(有害的)行为,还是这两种方式之间确实存在一些区别?



4
客户端编程和服务器端编程有什么区别?
我有以下代码: <script type="text/javascript"> var foo = 'bar'; <?php file_put_contents('foo.txt', ' + foo + '); ?> var baz = <?php echo 42; ?>; alert(baz); </script> 为什么这不将“ bar”写到我的文本文件中,但提示“ 42”? 注意:此问题的早期修订版本明确涉及服务器上的PHP和客户端上的JavaScript。当两种语言在客户端上运行而另一种在服务器上运行时,问题和解决方案的本质对于任何一对语言都是相同的(即使它们是相同的语言)。当您看到有关特定语言的答案时,请考虑到这一点。

5
如何克隆一个Date对象?
将Date变量分配给另一个变量会将引用复制到同一实例。这意味着更改一个将更改另一个。 我实际上如何克隆或复制Date实例?
498 javascript 

20
根据内容调整iframe的大小
我正在开发类似iGoogle的应用程序。使用iframe显示其他应用程序(在其他域上)的内容。 如何调整iframe的大小以适合iframe内容的高度? 我试图破译Google使用的javascript,但是它被混淆了,到目前为止,在网络上搜索是徒劳的。 更新:请注意,内容是从其他域加载的,因此适用同源策略。


30
在React.js中执行反跳
您如何在React.js中执行反跳? 我想对handleOnChange进行反跳。 我尝试过,debounce(this.handleOnChange, 200)但没有用。 function debounce(fn, delay) { var timer = null; return function() { var context = this, args = arguments; clearTimeout(timer); timer = setTimeout(function() { fn.apply(context, args); }, delay); }; } var SearchBox = React.createClass({ render: function() { return <input type="search" name="p" onChange={this.handleOnChange} />; }, handleOnChange: function(event) { …

11
typeof!==“未定义”与!= null
我经常看到JavaScript代码以这种方式检查未定义的参数等: if (typeof input !== "undefined") { // do stuff } 这似乎有点浪费,因为它涉及类型查找和字符串比较,更不用说它的冗长了。这是必需的,因为undefined可以重命名。 我的问题是: 与该方法相比,该代码有何优势: if (null != input) { // do stuff } 据我所知,您无法重新定义null,因此不会意外中断。并且,由于!=运算符的类型强制,这将同时检查undefined和null...,而这恰恰是您想要的(例如,用于可选功能参数)。 但是,这种形式似乎并不广泛,它甚至导致JSLint对使用邪恶!=运算符的人大喊。 为什么认为这种风格不好?

14
ES6类变量替代
当前在ES5中,我们许多人在框架中使用以下模式来创建类和类变量,这很方便: // ES 5 FrameWork.Class({ variable: 'string', variable2: true, init: function(){ }, addItem: function(){ } }); 在ES6中,您可以本地创建类,但是没有选择可以使用类变量: // ES6 class MyClass { const MY_CONST = 'string'; // <-- this is not possible in ES6 constructor(){ this.MY_CONST; } } 可悲的是,上述方法不起作用,因为类只能包含方法。 我知道我可以this.myVar = true在constructor...但我不想“垃圾”我的构造,特别是当我有一个更大的类20-30 +参数。 我正在考虑解决该问题的多种方法,但尚未找到任何好的方法。(例如:创建一个ClassConfig处理程序,并传递一个parameter与类分开声明的对象。然后该处理程序将附加到该类。我也在考虑WeakMaps以某种方式进行集成。) 您将如何处理这种情况?

11
Javascript / Chrome-如何从Webkit检查器复制对象作为代码
我在我的JavaScript中执行console.log语句,以记录一个JavaScript对象。我想知道是否有一种方法,一旦完成,就将该对象复制为javascript代码。我想做的是将使用ajax创建的对象转换为将xml feed解析为静态javascript对象,以便文件可以在本地运行,而无需服务器。我在chrome inspector窗口中包含了该对象的屏幕快照,以便您可以看到我正在尝试执行的操作。

8
如何编写一个期望在Jasmine中引发错误的测试?
我正在尝试为Jasmine测试框架编写测试,该测试会出现错误。目前,我正在使用来自GitHub的Jasmine Node.js集成。 在我的Node模块中,我有以下代码: throw new Error("Parsing is not possible"); 现在,我尝试编写一个预期出现此错误的测试: describe('my suite...', function() { [..] it('should not parse foo', function() { [..] expect(parser.parse(raw)).toThrow(new Error("Parsing is not possible")); }); }); 我也尝试Error()了其他一些变体,只是想不通如何使其工作。


9
在ES6生成器上使用redux-saga与在ES2017 async / await中使用redux-thunk的优缺点
现在有很多关于redux镇上最新的孩子redux-saga / redux-saga的讨论。它使用生成器功能来侦听/调度动作。 在开始思考之前,我想知道使用优缺点的方法,redux-saga而不是下面使用redux-thunk异步/等待方法的方法。 组件可能看起来像这样,像往常一样调度动作。 import { login } from 'redux/auth'; class LoginForm extends Component { onClick(e) { e.preventDefault(); const { user, pass } = this.refs; this.props.dispatch(login(user.value, pass.value)); } render() { return (<div> <input type="text" ref="user" /> <input type="password" ref="pass" /> <button onClick={::this.onClick}>Sign In</button> </div>); } } export default connect((state) …

27
单击锚点链接时平滑滚动
我的页面上有几个超链接。用户访问我的帮助部分时将阅读的常见问题解答。 使用锚链接,我可以使页面滚动到锚,并在那里引导用户。 有没有办法使滚动平滑? 但是请注意,他正在使用自定义JavaScript库。也许jQuery提供了类似的功能?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.