Tag: JavaScript

ES6的箭头函数和Function.prototype.bind绑定的函数有什么区别(如果有的话)?

在我看来,在ES6中,以下两个函数几乎是相同的: function () { return this; }.bind(this); () => { return this; }; 最终的结果看起来是一样的:箭头函数产生一个JavaScript函数对象,它们的this上下文被绑定到与创build它们相同的值。 显然,在一般意义上, Function.prototype.bind比箭头函数更灵活:它可以绑定到除本地以外的值,并且可以在任何时间点绑定任何函数。 然而,我不是问如何bind本身是不同的箭头function,我问如何箭头function不同于立即调用bind与this 。 ES6中两个构造之间是否有区别?

如何使用JavaScript和XMLHttpRequest加载二进制图像数据?

我试图加载一个图像客户端和base64编码服务器返回的字节,以传递它来执行一些处理。 IE有一个XMLHttpRequest对象的RequestBody属性,但我似乎无法使用它,并且RequestText被截断。 在Firefox中,RequestText在那里,但似乎损坏。

正则expression式的字母数字,至less有1个数字和1个字符

我有一个正则expression式 / ^([A-ZA-Z0-9] +)$ / 这只允许字母数字,但如果我只插入数字或字符(S),然后也接受它。 我希望它的工作,如字段应该只接受字母数字值,但该值必须至less包含1个字符和1个数字。

检测/监测DOM变化的最有效方法?

我需要一个有效的机制来检测DOM的变化。 最好是跨浏览器,但如果有任何不是跨浏览器的有效手段,我可​​以实现这些与一个故障安全跨浏览器方法。 特别是,我需要检测会影响页面文本的更改,因此需要任何新的,删除或修改的元素,或者更改内部文本(innerHTML)。 我无法控制所做的更改(可能是由于第三方JavaScript包含等),所以无法从这个angular度来处理 – 我需要以某种方式“监视”更改。 目前我已经实现了一个“quick'n'dirty”方法, body.innerHTML.length隔一段时间检查body.innerHTML.length 。 这当然不会检测到导致返回相同长度的变化,但是在这种情况下“足够好” – 发生这种情况的可能性非常小,在这个项目中,不能检测到变化在丢失的数据。 body.innerHTML.length的问题是它很昂贵。 在一个快速的浏览器上,它可能需要1到5毫秒,这可能会让事情变得非常糟糕 – 我也在处理大量的iframe,这些都会加起来。 我很确定这样做的代价很大,因为innerHTML文本不是由浏览器静态存储的,每次读取时都需要从DOM中计算出来。 我正在寻找的答案的types是从“精确的”(例如事件)到“足够好”的任何东西 – 可能是innerHTML.length方法的“quick'n'dirty”,但执行速度更快。 编辑:我也应该指出,尽pipe检测已被修改的精确元素是“好的”,但这不是绝对必要的 – 只是事实上已经有任何改变就足够了。 希望这能扩大人们的反应。 我要去调查突变事件,但是我仍然需要IE支持的回退,所以任何有创意的,不寻常的想法都是非常受欢迎的。

如何获取多选框的所有选定值?

我有一个具有multiple属性的<select>元素。 我怎样才能得到这个元素的select使用JavaScript的值? 这就是我想要的: function loopSelected() { var txtSelectedValuesObj = document.getElementById('txtSelectedValues'); var selectedArray = new Array(); var selObj = document.getElementById('slct'); var i; var count = 0; for (i=0; i<selObj.options.length; i++) { if (selObj.options[i].selected) { selectedArray[count] = selObj.options[i].value; count++; } } txtSelectedValuesObj.value = selectedArray; }

点击链接后强制浏览器保存文件

可能重复: 只使用JavaScript强制文件下载识别的MIMEtypes(几乎想通了..) 有没有办法强制浏览器与JS例程保存文件(“另存为”)后点击链接? 我需要默认直接下载图片,而不是由browerser渲染。

使用HTML注释标记<! – – >在JavaScript代码中仍然相关?

在JavaScript代码中使用HTML注释标签仍然相关吗? 我的意思是 <html> <body> <script type="text/javascript"> //<!– document.write("Hello World!"); //–> </script> </body> </html>

保存文件与文件名的Javascript

我正在使用纯Javascript编写文本编辑器。 我喜欢这样,当用户点击“保存”button时,编辑器会下载文件。 我已经有这个部分工作: uriContent = "data:application/octet-stream," + encodeURIComponent(codeMirror.getValue()); newWindow=window.open(uriContent, 'filename.txt'); 文件下载,但问题是该文件被命名为“下载”。 问题 :如何将文件的名称更改为我想要的内容,例如filename.txt ?

Javascript:从对象获取深层值通过传递path为string

可能重复: 使用string键访问嵌套的JavaScript对象 也许标题不够清楚,我只是不知道如何指定我在找什么,而我的英语真的很糟糕,对不起。 我试图创build返回对象值的函数,但也适合嵌套对象。 例如: var obj = { foo: { bar: 'baz' } }; 我想通过向函数提供string“foo.bar”来访问obj.foo.bar的值。 function(obj, path) { // Path can be "foo.bar", or just "foo". } 谢谢!

添加选项以使用JavaScript进行select

我想要这个javascript创build选项从12到100在select与id =“mainSelect”,因为我不想手动创build所有的选项标签。 你能给我一些指点吗? 谢谢 function selectOptionCreate() { var age = 88; line = ""; for (var i = 0; i < 90; i++) { line += "<option>"; line += age + i; line += "</option>"; } return line; }