Questions tagged «javascript»

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

11
尝试在JavaScript中{}不能捕获{}吗?
我有很多函数,它们要么返回值,要么抛出错误。在主函数中,我分别调用它们,并想返回每个函数返回的值,或者如果第一个函数抛出错误,则继续执行第二个函数。 所以基本上我目前拥有的是: function testAll() { try { return func1(); } catch(e) {} try { return func2(); } catch(e) {} // If func1 throws error, try func2 try { return func3(); } catch(e) {} // If func2 throws error, try func3 } 但是实际上我只想try返回它(即,如果它没有引发错误)。我不需要catch障碍物。但是,类似的代码try {}失败,因为它缺少(未使用的)catch {}块。 我在jsFiddle上举了一个例子。 那么,有什么方法可以catch在达到相同效果的同时移除那些障碍?

6
以编程方式将代码添加到javascript函数
我试图自定义现有的JS库,而不修改原始JS代码。这段代码将加载一些我可以访问的外部JS文件,而我想做的就是更改原始文件中包含的功能之一,而无需将整个内容复制并粘贴到第二个JS文件中。 因此,例如,禁区JS可能具有以下功能: var someFunction = function(){ alert("done"); } 我希望能够以某种方式在该函数中附加或添加一些JS代码。原因主要是在原始的不可触摸的JS中,该功能非常庞大,如果该JS得到更新,则我覆盖它的功能将过时。 我不确定这是否可行,但我想我会检查一下。


5
修改查询字符串而无需重新加载页面
我正在创建一个图片库,并且希望能够在浏览照片时更改查询字符串和标题。 我正在寻找的行为经常出现在连续/无限页面的某些实现中,其中当您向下滚动查询字符串时会不断增加页面编号(http://x.com?page=4)等。这应该是从理论上讲很简单,但我希望在主要的浏览器中都能安全使用。 我找到了这篇不错的文章,并尝试使用跟随该示例window.history.pushstate,但这似乎对我没有用。而且我不确定它是否理想,因为我不太在乎修改浏览器的历史记录。 我只希望能够为当前查看的照片添加书签,而无需在每次更改照片时重新加载页面。 这是修改查询字符串的无限页面示例:http : //tumbledry.org/ UPDATE找到此方法: window.location.href = window.location.href + '#abc'; 它似乎适合我,但我使用的是新的Chrome。这可能会导致旧版浏览器出现某些问题?

7
每秒更新React组件
我一直在玩React,并具有以下仅显示Date.now()在屏幕上的时间组件: import React, { Component } from 'react'; class TimeComponent extends Component { constructor(props){ super(props); this.state = { time: Date.now() }; } render(){ return( <div> { this.state.time } </div> ); } componentDidMount() { console.log("TimeComponent Mounted...") } } export default TimeComponent; 从React的角度来看,使该组件每秒更新以重新绘制时间的最佳方法是什么?

7
在控制台中查找变量时,如何创建新行?
因此,我试图做一些简单的事情,我想使用1 console.log语句将控制台中的跟踪分成几行: console.log('roleName = '+roleName+' role_ID = '+role_ID+' modal_ID = '+modal_ID+\n+'related = '+related); 您将如何编写以上内容以找出以下内容? roleName = test role_ID = test modal_UD = test related = test 代替 roleName = test role_ID = test modal_UD = test related = test 我已经检查了其他几个看起来相似的问题,但是没有一个问题有帮助或正在谈论另一件事。 谢谢参观!

5
使用jQuery查看div是否有一个具有特定类的孩子
我有一个div #popup,它随班级动态填充了几个段落.filled-text。我正在尝试让jQuery告诉我其中是否#popup包含这些段落之一。 我有此代码: $("#text-field").keydown(function(event) { if($('#popup').has('p.filled-text')) { console.log("Found"); } }); 有什么建议?
114 javascript  jquery 

6
多次兑现诺言是否安全?
我的应用程序中有一个i18n服务,其中包含以下代码: var i18nService = function() { this.ensureLocaleIsLoaded = function() { if( !this.existingPromise ) { this.existingPromise = $q.defer(); var deferred = this.existingPromise; var userLanguage = $( "body" ).data( "language" ); this.userLanguage = userLanguage; console.log( "Loading locale '" + userLanguage + "' from server..." ); $http( { method:"get", url:"/i18n/" + userLanguage, cache:true …

9
如何使用Vue-Router在Vue中设置URL查询参数
我在更改输入字段时尝试使用Vue-router设置查询参数,我不想导航到其他页面,而只想在同一页面上修改url查询参数,我这样做是: this.$router.replace({ query: { q1: "q1" } }) 但这也会刷新页面并将y位置设置为0,即滚动到页面顶部。这是设置URL查询参数的正确方法,还是有更好的方法呢? 编辑: 这是我的路由器代码: export default new Router({ mode: 'history', scrollBehavior: (to, from, savedPosition) => { if (to.hash) { return {selector: to.hash} } else { return {x: 0, y: 0} } }, routes: [ ....... { path: '/user/:id', component: UserView }, ] })

30
Node.js端口3000已在使用中,但实际上不是吗?
我已经在一个node.js项目上工作了几周,并且运行良好。通常,我npm start用来运行我的应用程序,并在本地主机的3000端口浏览器中查看它。 今天,在使用npm start时,我开始出现以下错误: Server started on port 3000 Port 3000 is already in use 我已经检查了资源监视器,并且在端口3000上没有其他进程在运行。为什么会出现此错误消息? 在我的app.js中,我有以下代码来设置端口...这不正确吗?之前效果很好,所以我不确定自己做错了什么。 // Set Port app.set('port', (process.env.PORT || 3000)); app.listen(app.get('port'), function() { console.log('Server started on port '+app.get('port')); }); 谢谢您的帮助! 编辑: 我尝试运行netstat和TCPView来检查正在使用该端口的进程,但是没有使用该端口的东西。我也尝试过重新启动笔记本电脑,但仍然出现相同的错误。
114 javascript  node.js  npm  port 

10
如何在禁用滚动的网站上启用滚动?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2个月前关闭。 改善这个问题 如何在已禁用Javascript滚动的网站上快速重新启用滚动?window.scrollBy(0,100)可以正常工作,只是似乎无法弄清楚如何将其绑定到键或鼠标滚动。
114 javascript 

10
与对象反应挂钩useState()
在带有钩子的React中,更新状态的正确方法是嵌套对象是什么? export Example = () => { const [exampleState, setExampleState] = useState( {masterField: { fieldOne: "a", fieldTwo: { fieldTwoOne: "b" fieldTwoTwo: "c" } } }) 一个人怎么会使用setExampleState到的更新exampleState来a(附加一个字段)? const a = { masterField: { fieldOne: "a", fieldTwo: { fieldTwoOne: "b", fieldTwoTwo: "c" } }, masterField2: { fieldOne: "c", fieldTwo: { fieldTwoOne: "d", …

14
ie8 var w = window.open()-“消息:参数无效。”
我有一个仅具有IE8问题的网站: 代码是: var w = window.open(urlstring, wname, wfeatures, 'false'); 错误是: 消息:无效的参数。 行:419字符:5 代码:0 URI:http://HOSTNAME/js_context.js 我已经确认了代码的行号(“ Line”和“ URI”是正确的),并且我知道在IE8的更高版本中,这被认为是准确的。 我已经通过转储警报检查了呼叫中的所有传入参数,它们看起来都有效。 FF(可能3)不会发生此问题。 更新: 问题似乎出在执行“ var w”时使用分配window.open()的结果。当我将行分成两个语句时,它可以在IE8中使用。 UPDATE2: 基于: http://javascript.crockford.com/code.html 当立即调用一个函数时,应将整个调用表达式包装在括号中,以便清楚地知道所产生的值是函数的结果,而不是函数本身。 这并不完全是这里发生的事情,但是我发现应用该原理可以解决IE8的兼容模式中的问题。 var w = (window.open(urlstring, wname, wfeatures, false));

5
在AngularJS中更新父范围变量
我有两个控制器,一个封装在另一个中。现在,我知道子范围从父范围继承属性,但是有没有办法更新父范围变量?到目前为止,我还没有遇到任何明显的解决方案。 在我的情况下,我在表单中有一个日历控制器。我想从父范围(即表单)更新开始日期和结束日期,以便表单在提交时具有开始日期和结束日期。


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.