概要 你能解释JavaScript的封装匿名函数的语法背后的原因吗? 为什么这个工作: (function(){})(); 但是这不: function(){}(); ? 我知道的 在JavaScript中,创build一个像这样的命名函数: function twoPlusTwo(){ alert(2 + 2); } twoPlusTwo(); 您也可以创build一个匿名函数并将其分配给一个variables: var twoPlusTwo = function(){ alert(2 + 2); }; twoPlusTwo(); 您可以通过创build一个匿名函数来封装一段代码,然后将其封装在括号中并立即执行: (function(){ alert(2 + 2); })(); 这在创build模块化脚本时非常有用,以避免混淆当前范围或全局范围,并且可能存在冲突的variables – 例如Greasemonkey脚本,jQuery插件等。 现在,我明白为什么这个工作。 括号内包含的内容,只公开结果(我敢肯定有一个更好的方式来描述),如(2 + 2) === 4 。 我不明白 但是我不明白为什么这不起作用: function(){ alert(2 + 2); }(); 你能解释一下吗?
我想创build一个HTMLbutton,就像一个链接。 所以,当你点击button,它redirect到一个页面。 我希望它尽可能地被访问。 我也喜欢它,所以URL中没有任何额外的字符或参数。 我怎样才能做到这一点? 根据迄今发布的答案,我目前正在这样做: <form method="get" action="/page2"> <button type="submit">Continue</button> </form> 但问题是在Safari和Internet Explorer中 ,它在URL的末尾添加了一个问号字符。 我需要find一个解决scheme,不添加任何字符到URL的末尾。 还有两个解决scheme可以做到这一点:使用JavaScript或样式链接看起来像一个button。 使用JavaScript: <button onclick="window.location.href='/page2'">Continue</button> 但是,这显然需要JavaScript,因此屏幕阅读器不太易于使用。 链接的一点是转到另一页。 所以试图让一个button像一个链接是错误的解决scheme。 我的build议是,你应该使用一个链接,并把它看起来像一个button 。 <a href="/link/to/page2">Continue</a>
我有一个带有绘制背景图像的JPanel和一个布局pipe理器,其中包含所有的JFrame 。 背景图像相当大,我希望能够保持它的宽高比,无论是在一个大的或小的显示器上。 最终,我希望能够将我的LayoutManager和其单元格中的较小图像粘贴到背景图片上。 我环顾四周寻找资源,似乎很多例子使用了一个BufferedImage但我不是; 这会造成一个问题吗? 我将在下面张贴我的代码来绘制图像,如果我缺less任何信息,请让我知道。 public class MonitorPanel extends JPanel { Image img; public MonitorPanel() throws MalformedURLException { //add components try { img = ImageIO.read(new File("src/customer_vlans.jpg")); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } protected void paintComponent(Graphics g) { //paint background image super.paintComponent(g); //g.drawImage(img, 0, 0, getWidth(), getHeight(), […]
我想知道是否有可能编写一个100%可靠的sed命令来转义inputstring中的任何正则expression式元字符,以便它可以在随后的sed命令中使用。 喜欢这个: #!/bin/bash # Trying to replace one regex by another in an input file with sed search="/abc\n\t[az]\+\([^ ]\)\{2,3\}\3" replace="/xyz\n\t[0-9]\+\([^ ]\)\{2,3\}\3" # Sanitize input search=$(sed 'script to escape' <<< "$search") replace=$(sed 'script to escape' <<< "$replace") # Use it in a sed command sed "s/$search/$replace/" input 我知道有更好的工具可以使用固定string而不是模式,例如awk , perl或python 。 我只想certificate是否有可能与sed 。 我会说让我们专注于基本的POSIX正则expression式,以获得更多的乐趣! 🙂 我已经尝试了很多东西,但是随时可以find一个打破我的尝试的input。 […]
我有一个列表Uri的,我想要“点击”为了实现这个我试图创build一个新的Web浏览器控制每个Uri。我创build一个新的线程每Uri。我遇到的问题是线程结束之前的文档是完全加载的,所以我从来没有得到使用DocumentComplete事件。我该如何克服这一点? var item = new ParameterizedThreadStart(ClicIt.Click); var thread = new Thread(item) {Name = "ClickThread"}; thread.Start(uriItem); public static void Click(object o) { var url = ((UriItem)o); Console.WriteLine(@"Clicking: " + url.Link); var clicker = new WebBrowser { ScriptErrorsSuppressed = true }; clicker.DocumentCompleted += BrowseComplete; if (String.IsNullOrEmpty(url.Link)) return; if (url.Link.Equals("about:blank")) return; if (!url.Link.StartsWith("http://") && !url.Link.StartsWith("https://")) url.Link = "http://" […]
我想用Java中的XPath读取XML数据,所以对于我收集的信息,我无法根据我的要求parsingXML。 这是我想要做的: 通过它的URL从在线获取XML文件,然后使用XPathparsing它,我想在其中创build两个方法。 一个是我在其中input一个特定的节点属性ID,我得到所有的子节点作为结果,第二是假设我只想得到一个特定的子节点值 <?xml version="1.0"?> <howto> <topic name="Java"> <url>http://www.rgagnonjavahowto.htm</url> <car>taxi</car> </topic> <topic name="PowerBuilder"> <url>http://www.rgagnon/pbhowto.htm</url> <url>http://www.rgagnon/pbhowtonew.htm</url> </topic> <topic name="Javascript"> <url>http://www.rgagnon/jshowto.htm</url> </topic> <topic name="VBScript"> <url>http://www.rgagnon/vbshowto.htm</url> </topic> </howto> 在上面的例子中,我想读取所有的元素,如果我通过@namesearch,还有一个函数,我只想从@name'Javascript'的URL只返回一个节点元素。 我希望我清除我的问题:) 谢谢。 凯
我有要求,最终用户不应该能够退出/注销后返回到受限制的页面。 但目前最终用户可以通过浏览器后退button,浏览浏览器历史logging,甚至通过在浏览器的地址栏中重新inputurl来完成此操作。 基本上,我希望最终用户在退出后不能以任何方式访问受限制的页面。 我怎样才能做到最好? 我可以使用JavaScript禁用后退button吗?
何时应该使用<h:outputLink>而不是<h:commandLink> ? 我明白,一个commandLink生成一个HTTPpost; 我猜outputLink会生成HTTP获取。 也就是说,我读过的大多数JSF教程材料都是独占使用commandLink (几乎?)。 上下文:我正在实现一个小的演示项目,显示一个用户页面的标题链接,就像Stack Overflow的… …我不知道是否commandLink (也许使用?faces-redirect=true为书签)或outputLink是正确的select。
我怎样才能做到这一点? public class GenericClass<T> { public Type getMyType() { //How do I return the type of T? } } 到目前为止我所尝试过的所有东西总是返回Objecttypes而不是使用的特定types。
我需要检查一个JavaScript数组,看看是否有重复的值。 什么是最简单的方法来做到这一点? 我只需要find重复的值是什么 – 我实际上并不需要它们的索引或者它们被重复的次数。 我知道我可以遍历数组,并检查所有其他值的匹配,但似乎应该有一个更简单的方法。 有任何想法吗? 谢谢! 相关: 从JavaScript数组中删除重复