Questions tagged «javascript»

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

2
如何在Javascript中抛出异常,但保留堆栈?
在Javascript中,假设我想在发生异常时执行一些清除操作,但是让异常继续在堆栈中传播,例如: try { enterAwesomeMode(); doRiskyStuff(); // might throw an exception } catch (e) { leaveAwesomeMode(); throw e; } doMoreStuff(); leaveAwesomeMode(); 此代码的问题在于,捕获并重新抛出异常会导致丢失到该点的堆栈跟踪信息,因此,如果随后再次捕获到异常,则该堆栈跟踪在堆栈的较高位置,则堆栈跟踪只会下降到-扔。这很烂,因为这意味着它不包含实际引发异常的函数。 事实证明,try..finally在至少Chrome中具有相同的行为(也就是说,精确地不是问题是重新抛出,而是所有异常处理程序块的存在。) 有谁知道一种在Java中重新抛出异常但保留与之关联的堆栈跟踪的方法吗?失败了,如何建议其他方法来添加异常安全的清理处理程序,同时在发生异常时捕获完整的堆栈跟踪信息? 感谢您的任何指点:)

7
lodash多列排序按降序
有一个很不错的方法可以根据几个属性对对象数组进行排序: var data = _.sortBy(array_of_objects, ['type', 'name']); 但是,这仅用于升序排序。有一些方便的方法来定义每列的方向吗?例如 var data = _.sortBy(array_of_objects, [{'type': 'asc'}, {'name': 'desc'}]);

10
querySelectorAll和getElementsBy *方法返回什么?
做getElementsByClassName(以及类似的功能,例如getElementsByTagName和querySelectorAll)与getElementById,还是他们返回元素的数组? 我问的原因是因为我试图使用更改所有元素的样式getElementsByClassName。见下文。 //doesn't work document.getElementsByClassName('myElement').style.size = '100px'; //works document.getElementById('myIdElement').style.size = '100px';


4
JSX中的“导出默认值”有什么作用?
我想问一下最后一句话的意思和作用(导出默认的HelloWorld;),但是我找不到关于它的任何教程。 // hello-world.jsx import React from 'react'; class HelloWorld extends React.Component { render() { return <p>Hello, world!</p>; } } export default HelloWorld;

18
用jQuery重新加载iframe
我在页面上有两个iframe,一个对另一个iframe进行了更改,但是另一个iframe直到刷新后才显示更改。有没有一种简单的方法可以使用jQuery刷新此iframe? <div class="project"> <iframe id="currentElement" class="myframe" name="myframe" src="http://somesite.com/something/new"></iframe> </div>

9
使用javascript / jQuery获取data- *属性列表
给定一个具有零个或多个data-*属性的任意HTML元素,如何检索数据的键值对列表。 例如: <div id='prod' data-id='10' data-cat='toy' data-cid='42'>blah</div> 我希望能够以编程方式检索此: { "id":10, "cat":"toy", "cid":42 } 使用jQuery(v1.4.3),$.data()如果事先知道键,则使用访问数据的单个位很简单,但是使用任意数据集如何做到这一点并不明显。 我正在寻找一种“简单的” jQuery解决方案(如果存在),但不介意采用较低级别的方法。我可以尝试解析,$('#prod').attributes但是缺少javascript-fu会让我失望。 更新 customdata可以满足我的需求。但是,仅将jQuery插件的一部分功能包括在内似乎太过分了。 盯着源代码可以帮助我修复自己的代码(并改进了javascript-fu)。 这是我想出的解决方案: function getDataAttributes(node) { var d = {}, re_dataAttr = /^data\-(.+)$/; $.each(node.get(0).attributes, function(index, attr) { if (re_dataAttr.test(attr.nodeName)) { var key = attr.nodeName.match(re_dataAttr)[1]; d[key] = attr.nodeValue; } }); return d; } 更新2 …

11
规避原产地政策的方法
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 同一原产地政策 我想制作有关HTML / JS 同源策略的社区Wiki,以希望能帮助任何人搜索此主题。这是关于SO的最热门搜索主题之一,并且没有统一的Wiki,所以我在这里:) 相同的来源策略可防止从一个来源加载的文档或脚本从另一个来源获取或设置文档的属性。该策略可追溯到Netscape Navigator 2.0。 您采用哪种最喜欢的方式处理同源政策? 请保持详细示例,并最好也链接您的资源。

2
在Chrome和Firefox中秘密复制到剪贴板的JavaScript功能?
更新资料 好像 浏览器已经开始在JS中原生支持复制 在Mac上的Chrome和Firefox的控制台窗口中,我可以执行 copy("party in your clipboard!"); 然后文本被复制到我的剪贴板中。我已经搜索过SO和Google,但似乎找不到任何东西。 这些特定于每个浏览器吗? 在哪里可以找到有关这些JavaScript函数的更多信息? 浏览器版本: 执行“复制”时从Chrome控制台返回的JavaScript function (object) { if (injectedScript._type(object) === "node") { var nodeId = InjectedScriptHost.pushNodePathToFrontend(object, false, false); InjectedScriptHost.copyNode(nodeId); } else InjectedScriptHost.copyText(object); } 此代码是什么意思? 这是在Chrome控制台中执行复制功能并禁用了所有Chrome扩展程序的2张屏幕截图




11
我应该如何调用3个函数才能一个接一个地执行它们?
如果我需要一个接一个地调用此函数, $('#art1').animate({'width':'1000px'},1000); $('#art2').animate({'width':'1000px'},1000); $('#art3').animate({'width':'1000px'},1000); 我知道在jQuery中我可以做类似的事情: $('#art1').animate({'width':'1000px'},1000,'linear',function(){ $('#art2').animate({'width':'1000px'},1000,'linear',function(){ $('#art3').animate({'width':'1000px'},1000); }); }); 但是,假设我没有使用jQuery,而是要调用: some_3secs_function(some_value); some_5secs_function(some_value); some_8secs_function(some_value); 我应该如何调用此函数以便执行some_3secs_function,然后在调用结束后执行,然后执行,然后在some_5secs_function调用结束后再调用some_8secs_function? 更新: 这仍然无法正常工作: (function(callback){ $('#art1').animate({'width':'1000px'},1000); callback(); })((function(callback2){ $('#art2').animate({'width':'1000px'},1000); callback2(); })(function(){ $('#art3').animate({'width':'1000px'},1000); })); 三个动画同时开始 我的错误在哪里?


8
有人可以解释Java语言中的“反跳”功能吗
我对javascript中的“反跳”功能感兴趣,写在这里:http : //davidwalsh.name/javascript-debounce-function 不幸的是,代码的解释不够清楚,我无法理解。谁能帮我弄清楚它是如何工作的(我在下面留了我的评论)。简而言之,我真的不明白这是如何工作的 // Returns a function, that, as long as it continues to be invoked, will not // be triggered. The function will be called after it stops being called for // N milliseconds. function debounce(func, wait, immediate) { var timeout; return function() { var context = this, …

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.