草庐IT

javascript - javascript 中的 .call 是如何工作的?

我在MDN站点上看到了这段代码:01functionProduct(name,value){02this.name=name;03if(value>=1000)04this.value=999;05else06this.value=value;07}0809functionProd_dept(name,value,dept){10this.dept=dept;11Product.call(this,name,value);12}1314Prod_dept.prototype=newProduct();1516//since5islessthan1000,valueisset17chee

javascript - Javascript 中代码的执行顺序是什么?

JavaScript中的代码究竟是如何执行的?我的意思是按什么顺序?如果我像这样声明一个函数,执行顺序会有不同吗:functionrender(){//Codehere}而不是这个:varrender=newfunction(){//Samecodehere}JavaScript是否会执行脚本文件中定义的函数,而不管它们是否被事件处理程序调用?(例如onload=function())。最后,如果一个函数定义在另一个函数中,当父函数被调用时,下层函数是否也被调用了?例如functiona(){functionb(){//code}functionc(){//code}}我正在尝试具体了

javascript - `delete` 在 JavaScript 中非常有用的一些用例是什么?

我们在这里有一些问题以更抽象的方式讨论删除,但我正在寻找何时可以使用delete的实际示例,而不是做一些事情,例如将属性设置为为空或未定义。Thedeleteoperatordeletesapropertyofanobject.什么地方面临挑战,delete是最佳解决方案,而不是其他解决方案? 最佳答案 将对象用作HashMap时,您可以使用以下方法迭代对象的属性:for(varkeyinobj){//...}如果该对象的某些属性设置为null,它们的键将包含在那里。通过使用delete,您可以完全删除他们的key。

javascript - 使用 raphael.js 绘制直线的正确方法是什么?

我在使用raphael.js绘制简单网格时遇到问题。我正在使用paper.path(),我的路径字符串看起来一切正常:但不知何故这被渲染了:这是我用来渲染这个“网格”的代码//verticallinesfor(varx=(this._offset.x%cellSize);x(在这种情况下,cellSize=50,并且this._offset={x:0,y:0}) 最佳答案 问题是您假设l采用绝对坐标,但它实际上采用相对坐标。当你写:M500l50600你认为这意味着从(50,0)到(50,600)写一行但它实际上意味着从(50,0)

javascript - 这些神秘的javascript异常方法是什么?

我检查了GoogleChrome中的javascript异常。我注意到函数getmessage、getstack、setmessage和setstack。我trycatch此异常并运行alert(e.get_message());只是为了得到一个错误。我还尝试运行alert(e.getmessage());,这显然由于空格返回了另一个错误。这些神秘的方法是什么,开发人员如何调用它们? 最佳答案 它们是属性访问器。它们是在您获取或设置属性时运行的有效函数。e.message;//gettere.message="foobar";//s

javascript - SockJS 消息的最大大小是多少?

我正在使用Vert.x和SockJS来传输封装在消息中的数据。是否有规范SockJS/Websocket消息可以有多大? 最佳答案 SockJS消息的大小没有明确的限制。但不幸的是,SockJS非常脆弱,不应该用于发送大量数据。在理想世界中,您将使用外部方法通过SockJS和大负载(用于吞吐量)发送控制消息(对延迟敏感)——例如使用AJAX调用。在技术方面,您应该能够通过websockets传输推送几乎所有内容,但在流式传输和轮询方面,您需要更加小心。具体来说,轮询请求必须在5秒内重新建立,当浏览器向服务器发送数据占用所有带宽时,可

javascript - document.all 是什么意思?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:document.allvs.document.getElementById我正在重构其他人编写的一些旧代码。我发现了以下片段:if(document.all||document.getElementById){...}if语句中的代码什么时候执行?谢谢!

javascript - 创建在 Express 请求中返回的错误消息的正确方法是什么?

我有一个名为a的函数,它接受回调,如果有回调,调用时会出现错误。a在Express路由请求中被调用。如果有错误,错误应该是请求的响应。functiona(cb){cb(newError('Someerrormessage'))}app.get('/',function(req,res){a(function(error){if(error){res.json(error,400)}res.send('Noerror')})})我查看了Express的代码,res.json似乎会将我的错误字符串化。然而,这样做的结果是一个空字符串:>vare=newError('Someerrormes

javascript - 不同的 *Target 属性的目的是什么?

在MouseEvent类中有多个*Target事件:targetcurrentTargetrelatedTarget它们在MouseEvent上下文中的用途是什么? 最佳答案 这些属性等同于JavaScript鼠标事件。JavaScript事件遍历DOM(称为“冒泡”)。target是最初派发事件的对象。currentTarget是您的事件处理程序附加到的对象。示例你有这个HTML结构:Entry1Entry2然后您将点击处理程序添加到元素(通过JavaScript或Dart,概念是相同的)。当您随后单击“条目2”时,将调用您的单击

javascript - 这个 Javascript 语句(正则表达式)是什么意思?

RegEx在这里测试什么?functionchksql(){if(/^\s*(?:delete|drop|truncate|alter)/.test(v))returnfalse;}我只知道它和正则表达式混在一起,但搞不懂是什么意思。 最佳答案 这意味着它检查v是否是以零个或多个空格字符开头的字符串,后跟delete或drop或chop或改变所以如果v是"alter"这将返回false。参见文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular