Tag: JavaScript

在控制台中禁止Chrome“无法加载资源”消息

我正在编写一个脚本,它使用XMLHttpRequest来search由相对path定义的文件,尝试parsing相对于脚本所知道的其他相同的域绝对path的相对path,然后尝试从已parsing的文件加载文件url。 如果我遇到一个404,我只是尝试解决文件相对path对另一个绝对path,并再次尝试。 对于这个特殊的脚本来说,遇到一个404错误是非常好的,但是我的控制台里充满了“无法加载资源:服务器响应404(Not Found)”消息的状态,我想压制它们。 我可以看到没有任何错误 – 错误情况由xmlHttpRequest.onreadystatechange处理程序处理,并且没有window.onerror。 有什么办法可以抑制这些消息吗? 谢谢

VueJS:为什么“这个”是未定义的?

我正在用Vue.js创build一个组件。 当我在任何生命周期钩子 ( created , mounted , updated等)中引用this时,它的计算结果为undefined : mounted: () => { console.log(this); // logs "undefined" }, 同样的事情也发生在我的计算属性: computed: { foo: () => { return this.bar + 1; } } 我得到以下错误: Uncaught TypeError:无法读取未定义的属性“bar” 为什么this评估在这些情况下是undefined ?

如何在JavaScript中dynamic访问本地作用域?

如果要dynamic使用全局函数和variables,可以使用: window[functionName](window[varName]); 是否有可能做同样的事情在本地范围内的variables? 此代码正常工作,但目前使用eval,我试图想如何做到这一点。 var test = function(){ //this = window var a, b, c; //private variables var prop = function(name, def){ //this = window eval(name+ ' = ' + (def.toSource() || undefined) + ';'); return function(value){ //this = test object if ( !value) { return eval('(' + name + ')'); } eval(name + ' […]

asynchronousJavaScript执行如何发生? 什么时候不用return语句?

// synchronous Javascript var result = db.get('select * from table1'); console.log('I am syncronous'); // asynchronous Javascript db.get('select * from table1', function(result){ // do something with the result }); console.log('I am asynchronous') 我知道在同步代码中,console.log()在从db中获取结果之后执行,而在asynchronous代码中,console.log()在db.get()获取结果之前执行。 现在我的问题是,如何执行asynchronous代码的幕后执行,为什么它是非阻塞的? 我已经search了Ecmascript 5标准来理解asynchronous代码是如何工作的,但在整个标准中找不到asynchronous字。 从nodebeginner.org我也发现,我们不应该使用返回语句,因为它阻止事件循环。 但是nodejs api和第三方模块都包含返回语句。 那么什么时候应该使用一个return语句,什么时候不应该呢? 有人可以指出这一点吗?

在JavaScript中使用URL的GET参数

如果我在一个页面上,如 http://somesite.com/somepage.php?param1=asdf 在该页面的JavaScript中,我想设置一个variables到URL的GET部分的参数值。 所以在JavaScript中: <script> param1var = … // … would be replaced with the code to get asdf from URI </script> 什么会“…”成为?

如何从FileList中删除一个文件

我正在使用HTML5构build一个拖放上传的Web应用程序,并将文件放到一个div上,当然还要获取dataTransfer对象,这个对象给了我一个FileList 。 现在我想删除一些文件,但我不知道如何,甚至可能。 最好我只想从FileList中删除它们; 我对他们没有用处。 但是,如果这是不可能的,我应该写在与FileList交互的代码检查? 这似乎很麻烦。

THREE.js射线相交失败通过添加div

如果页面上只有一个目标div(其中包含renderer.domElement),则Three.js脚本运行良好。 只要我在目标div上方添加具有固定高度和宽度的另一个div,ray.intersectObjects就会返回null。 我怀疑我为ray创build的vector是造成这个问题的原因。 这是代码。 var vector = new THREE.Vector3( ( event.clientX / divWidth ) * 2 – 1, -( event.clientY / divHeight ) * 2 + 1, 0.5 ); projector.unprojectVector( vector, camera ); var ray = new THREE.Ray( camera.position, vector.subSelf( camera.position ).normalize() ); var intersects = ray.intersectObjects( myObjects, true ); 任何想法如何我可以解决这个问题。 编辑:现在是THREE.Raycaster (three.js r.56)

使用括号(“)和点(`.`)符号之间的区别

什么是使用[]和真正的区别. 访问数组或对象的属性? 哪一个使用? 另外为什么不呢. 运算符允许索引属性?

函数调用和函数引用有什么区别?

我有以下function function hello() { alert("hi!"); } 拿这段代码: var elem = document.getElementById("btn"); elem.onclick = hello; 我的问题可能有点难以理解,所以请耐心等待:这段代码与普通调用完全不同,还是使这段代码需要引用函数variables而不是常规调用? ( hello(); ) 我怎么知道我应该在哪里给这个函数提供一个参考,以及什么时候我应该实际调用它?

为什么结果会根据大括号放置而有所不同?

我已经阅读了这篇文章 ,其中显示了一个例子。 请解释下面的代码片段为什么会因为大括号的位置发生变化而返回不同的结果。 带有大括号的示例{换行符。 function test() { return { /* <—-curly brace in new line */ javascript: "fantastic" }; } var r = test(); try { alert(r.javascript); // does this work…? } catch (e) { alert('no – it broke: ' + typeof r); } test()返回undefined 。 打开大括号的示例{与return相同的行。 function test() { return { /* <—-inline curly […]