事件冒泡和捕获有什么区别? 在这两个,这是更快,更好的模式使用?
我怎样才能在Javascript中的两个指定的variables之间生成一个随机的整数,例如x = 4和y = 8会输出4,5,6,7,8中的任意一个?
以下是构build链接的两种方法,其中唯一目的是运行JavaScript代码。 在function,页面加载速度,validation目的等方面哪个更好? function myJsFunc() { alert("myJsFunc"); } <a href="#" onclick="myJsFunc();">Run JavaScript Code</a> 要么 function myJsFunc() { alert("myJsFunc"); } <a href="javascript:void(0)" onclick="myJsFunc();">Run JavaScript Code</a>
当我发现我有一个有问题的代码片段时,我应该如何去debugging它?
我正在尝试用逗号作为千位分隔符在JavaScript中打印整数。 例如,我想显示编号1234567为“1,234,567”。 我怎么去做这个? 这是我如何做到这一点: function numberWithCommas(x) { x = x.toString(); var pattern = /(-?\d+)(\d{3})/; while (pattern.test(x)) x = x.replace(pattern, "$1,$2"); return x; } 有一个更简单或更优雅的方式来做到这一点? 这将是很好,如果它也适用于浮动,但这不是必要的。 它不需要特定于语言环境来决定句点和逗号。
我看到一些代码,似乎使用了一个我不认识的操作符,以两个感叹号的forms,就像这样: !! 。 有人能告诉我这个操作员做什么吗? 我看到这种情况是, this.vertical = vertical !== undefined ? !!vertical : this.vertical;
我想用JavaScript格式化一个价格。 我想要一个函数,它将一个float作为参数,并返回一个格式如下所示的string : "$ 2,500.00" 什么是最好的方法来做到这一点?
有没有更好的方法来devise一个sleep JavaScript比下面的pausecomp函数( 从这里取得 )? function pausecomp(millis) { var date = new Date(); var curDate = null; do { curDate = new Date(); } while(curDate-date < millis); } 这不是JavaScript中睡眠的重复- 动作之间的延迟 ; 我希望在一个函数中间有一个真正的睡眠 ,而不是在一段代码执行之前的延迟。
我试图将浏览器导向到不同的页面。 如果我想要一个GET请求,我可能会说 document.location.href = 'http://example.com/q=a'; 但是我试图访问的资源将不会正确响应,除非我使用POST请求。 如果这不是dynamic生成的,我可以使用HTML <form action="http://example.com/" method="POST"> <input type="hidden" name="q" value="a"> </form> 然后,我只需从DOM提交表单。 但是,我真的想要JavaScript代码,让我说 post_to_url('http://example.com/', {'q':'a'}); 什么是最好的跨浏览器实现? 编辑 对不起,我不清楚。 我需要一个改变浏览器位置的解决scheme,就像提交表单一样。 如果这可能与XMLHttpRequest ,这是不明显的。 这不应该是asynchronous的,也不要使用XML,所以Ajax不是答案。
我最近遇到了一个相当讨厌的bug,其中代码是通过JavaScriptdynamic加载<select> 。 这个dynamic加载的<select>有一个预先选定的值。 在IE6中,我们已经有了修改所选的<option>代码,因为有时候<select>的selectedIndex值将与select的<option>的index属性不同步,如下所示: field.selectedIndex = element.index; 但是,这个代码不起作用。 即使字段的selectedIndex设置正确,错误的索引也会被选中。 但是,如果我在正确的时间插入alert()语句,则会select正确的选项。 考虑到这可能是一些时间问题,我尝试了一些随机代码,之前我曾经看过代码: var wrapFn = (function() { var myField = field; var myElement = element; return function() { myField.selectedIndex = myElement.index; } })(); setTimeout(wrapFn, 0); 这工作! 对于我的问题,我有一个解决scheme,但是我不确定为什么这会解决我的问题。 有没有人有正式的解释? 什么浏览器问题,我通过使用setTimeout()调用我的函数“以后”避免?