Questions tagged «javascript»

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

3
反应功能性无状态组件,PureComponent,Component;有什么区别,什么时候应该使用什么?
才知道,从阵营v15.3.0,我们有一个新的基类叫PureComponent与扩展PureRenderMixin内置。我了解的是,在幕后,它对内部的道具进行了浅浅的比较shouldComponentUpdate。 现在,我们有3种方法来定义React组件: 功能性无状态组件,不扩展任何类 扩展PureComponent类的组件 扩展Component类的常规组件 一段时间以前,我们曾经将无状态组件称为“纯组件”,甚至称为“哑组件”。似乎“纯”一词的整个定义现在已经在React中改变了。 尽管我了解这三者之间的基本区别,但是我仍然不确定何时选择什么。还有每种性能影响和权衡取舍是什么? 更新: 这些是我希望得到澄清的问题: 我应该选择将我的简单组件定义为功能性的(出于简单性考虑)还是扩展PureComponent类(出于性能的考虑)? 我所获得的性能提升是否是我失去的简单性的真正折衷呢? Component当我总是可以使用PureComponent以获得更好的性能时,是否需要扩展常规类?

16
jQuery UI对话框-缺少关闭图标
我正在使用自定义jQuery 1.10.3主题。我从主题滚筒下载了所有笔直的文件,但我没有故意更改任何内容。 我创建一个对话框,并得到一个空的灰色正方形,其中关闭图标应为: 我比较了页面上生成的代码: <div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix"> <spanid="ui-id-2" class="ui-dialog-title">Title</span> <button class="ui-dialog-titlebar-close"></button> </div> 到“ 对话框演示”页面上生成的代码: <div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix"> <span id="ui-id-1" class="ui-dialog-title">Basic dialog</span> <button class="ui-button ui-widget ui-state-default ui-corner-all ui-button-icon-only ui-dialog-titlebar-close" role="button" aria-disabled="false" title="close"> <span class="ui-button-icon-primary ui-icon ui-icon-closethick"></span> <span class="ui-button-text">close</span> </button> </div> 编辑:代码的不同部分是由jQueryUI 生成的,不是我,所以我不能不编辑jqueryui js文件就添加span标签,这似乎是实现正常功能的错误/不必要的选择。 这是用于生成该部分代码的javascript: this.element.dialog({ appendTo: "#summary_container", …

9
如何使用Javascript获取滚动条位置?
我正在尝试使用JavaScript检测浏览器的滚动条的位置,以确定当前视图在页面中的位置。我的猜测是,我必须检测轨道上的拇指在哪里,然后检测拇指的高度占轨道总高度的百分比。我是不是过于复杂了,还是JavaScript提供了比这更简单的解决方案?任何想法代码明智?

13
Chrome不会删除会话Cookie
我试图像这样在javascript中设置会话cookie: document.cookie = 'name=alex; path=/' 但是即使我退出浏览器并再次启动它,Chrome也不会删除它。 我检查了Firefox和Opera,它们都按预期工作-它们在浏览器退出时删除了会话cookie。 Chrome浏览器只是忽略过期规则吗? 我签入了多个操作系统,发现会话cookie在Windows XP和Ubuntu中的Chrome上已删除,但在Mac OSX Lion中没有。

7
.then(成功,失败)什么时候被视为承诺的反模式?
我看了蓝鸟诺言常见问题解答,其中提到这.then(success, fail)是一种反模式。我对试捕一无所知。以下是什么问题? some_promise_call() .then(function(res) { logger.log(res) }, function(err) { logger.log(err) }) 该示例似乎建议以下是正确的方法。 some_promise_call() .then(function(res) { logger.log(res) }) .catch(function(err) { logger.log(err) }) 有什么不同?


3
Promise.all:已解析值的顺序
查看MDN看起来像values传递给then()Promise 的回调。all包含按promise顺序的值。例如: var somePromises = [1, 2, 3, 4, 5].map(Promise.resolve); return Promise.all(somePromises).then(function(results) { console.log(results) // is [1, 2, 3, 4, 5] the guaranteed result? }); 谁能引用规范说明values应该遵循的顺序? PS:运行这样的代码表明这似乎是对的,尽管这当然没有证据-可能是巧合。

13
如何使用ReactJS获取输入字段的值?
我有以下React组件: export default class MyComponent extends React.Component { onSubmit(e) { e.preventDefault(); var title = this.title; console.log(title); } render(){ return ( ... <form className="form-horizontal"> ... <input type="text" className="form-control" ref={(c) => this.title = c} name="title" /> ... </form> ... <button type="button" onClick={this.onSubmit} className="btn">Save</button> ... ); } }; 控制台给了我undefined-任何想法这段代码有什么问题吗?

8
没有链接的JavaScript Blob文件名
强制通过window.location下载时,如何在JavaScript中设置Blob文件的名称? function newFile(data) { var json = JSON.stringify(data); var blob = new Blob([json], {type: "octet/stream"}); var url = window.URL.createObjectURL(blob); window.location.assign(url); } 运行上面的代码即可立即下载文件,而无需刷新页面,如下所示: bfefe410-8d9c-4883-86c5-d76c50a24a1d 我想将文件名设置为my-download.json。


12
使用JavaScript检测Android手机在浏览器中的旋转
我知道在iPhone上的Safari中,您可以通过侦听onorientationchange事件并查询window.orientation角度来检测屏幕的方向和方向变化。 Android手机上的浏览器有可能吗? 明确地说,我想问的是,运行在标准网页上的JavaScript是否可以检测到Android设备的旋转。可以在iPhone上使用,我想知道是否可以在Android手机上完成。

10
从字符串中删除前导逗号
我有以下字符串: ",'first string','more','even more'" 我想将其转换为数组,但是由于第一个逗号,显然这是无效的。如何从字符串中删除第一个逗号并使其成为有效的数组? 我想结束这样的事情: myArray = ['first string','more','even more']

25
从原型定义的函数访问私有成员变量
有什么方法可以使“私有”变量(在构造函数中定义的变量)可供原型定义的方法使用? TestClass = function(){ var privateField = "hello"; this.nonProtoHello = function(){alert(privateField)}; }; TestClass.prototype.prototypeHello = function(){alert(privateField)}; 这有效: t.nonProtoHello() 但这不是: t.prototypeHello() 我习惯于在构造函数中定义方法,但出于以下两个原因而逐渐远离它。

18
用于jQuery或Google CDN的Microsoft CDN?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 6年前关闭。 改善这个问题 您实际上使用哪个CDN链接到您的jquery文件或任何javascript文件并不重要。一个可能比另一个更快吗?您决定在哪个CDN中使用哪些其他因素?我知道Microsoft,Yahoo和Google现在都具有CDN。

6
如何在Redux应用程序中动态加载reducers进行代码拆分?
我要迁移到Redux。 我的应用程序包含很多部分(页面,组件),因此我想创建许多化简器。Redux的例子表明,我应该使用它combineReducers()来生成一个reducer。 另外,据我了解,Redux应用程序应具有一个存储,并且在应用程序启动后即会创建。创建商店时,我应该通过我的组合减速器。如果应用程序不是太大,这是有道理的。 但是,如果我构建多个JavaScript捆绑包怎么办?例如,应用程序的每个页面都有自己的捆绑软件。我认为在这种情况下,一个减速器组合不好。我浏览了Redux的源代码,发现了replaceReducer()功能。这似乎是我想要的。 replaceReducer()当我在应用程序的各个部分之间移动时,我可以为应用程序的每个部分创建组合的reducer并使用。 这是一个好方法吗?

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.