草庐IT

new_shmen

全部标签

函数返回数组上的 Javascript `new` 关键字

我正在尝试使用new关键字,但找不到对此行为的解释。假设我们有一个返回整数的函数:(在Firebug中)>>>functionx(){return2;}>>>x()2>>>newx()x{}但是如果函数返回一个数组:>>>functiony(){return[2];}>>>y()[2]>>>newy()[2]这是为什么? 最佳答案 new运算符有一个有趣的行为:它返回由运算符创建的对象,除非构造函数返回一个不同的对象。构造函数的任何非对象返回值都将被忽略,这就是为什么当您返回2时您看不到它。下面是当你说newx()时会发生什么:解释

javascript - json 数组 : How to create new array elements?

我的目标是得到一个像这样的json数组:varargs=[{name:'test',value:1},{key:'test2',value:2}];我怎样才能得到下面的代码来构建一个像上面那样的数组?this.dependentProperties=[];//arrayfunctionaddDependentProperty(depName,depValue){dependentProperties.push(newArray(depName,depValue));}通过使用push方法,我最终得到了一个像这样的json符号:args:{[["test1",1],["test2",2]

javascript - 无法嵌入 "new look"Google map

为客户构建网站时,我需要定期嵌入GMaps。为此,我使用maplace.js。一切都很好,但我注意到了一些奇怪的事情。我在我的Google帐户上启用了googlemap的新“外观”,现在它看起来非常漂亮干净:在这里,我可以生成一个iFrame,用于在我的网站上手动嵌入GMap,保持新的、干净的外观和相当方便的“获取方向”覆盖:但是,当使用maplace.js(因此,实际上是mapAPI)时,我仍然得到旧的外观,并且没有漂亮干净的控件:我四处寻找一种方法来使想法看起来与Google生成的框架中的想法相同,但没有成功。这些是我用来完成事情的包含:这是应用于map的CSS:#gmap{hei

javascript - "new"和直接调用生成器函数有什么区别?

我知道“新建”和直接调用普通函数的区别。但是生成器函数的情况如何呢?例如:function*counter(){letn=0;while(n他们好像一样? 最佳答案 生成器允许您通过编写一个可以维护其自身状态的函数来定义迭代算法。生成器是一种特殊类型的函数,可作为迭代器的工厂。如果一个函数包含一个或多个yield表达式,它就成为一个生成器。当一个生成器函数被调用时,函数体不会立即执行;相反,它返回一个生成器迭代器对象。每次调用生成迭代器的next()方法都会执行函数体直到下一个yield表达式并返回其结果。当到达函数末尾或返回语句时

javascript - new super.constructor 是 JavaScript 中的有效表达式吗?

我想知道newsuper.SomeProperty形式的表达式在JavaScript中是否有效。这个问题是在处理跨浏览器行为不一致的代码时出现的,例如下面代码片段中的示例。classTest{test(){returnnewsuper.constructor;}}console.log((newTest).test());这会在Firefox和Edge中打印一个空对象,但会在Chrome中抛出一个ReferenceError并在Safari中抛出一个SyntaxError。通过在super.constructor周围加上括号或使用变量可以很容易地避免该错误,因此这不是真正的限制,而是对

javascript - 如何使用 Object.create() 而不是 new 创建具有私有(private)成员的对象

编辑:我最后从Bergi的回答中弄明白了。谢谢伯吉。pubPrivExample=(function(){return{init:function(){varprivate;this.setPrivate=function(p){private=p;};this.getPrivate=function(){returnprivate;};},public:"Thisispublic\n"};}());vara;a=Object.create(pubPrivExample);a.init();a.setPrivate("Thisisprivate");document.write(a.g

JavaScript new Date(dateStr) 以特定格式给出昨天的日期

这个问题在这里已经有了答案:WhydoesDate.parsegiveincorrectresults?(11个答案)关闭2年前。tl;dr-当我尝试使用YYYY-MM-DD格式的日期字符串创建新的Date对象时,它给了我一个不正确的日期(昨天)。为什么?我编写了以下测试代码来帮助我演示我所感知的问题:vardateConfig={weekday:"long",year:"numeric",month:"long",day:"numeric"},dates=["01/21/2014","01-21-2014","2014/01/21","2014-01-21"];for(vari=0;

javascript - new URL() - WHATWG URL API

我正在摆弄Node,我正在尝试获取URL类的实例(因为那些方便的属性)。喜欢:const{URL}=require('url');(...)http.createServer((request,response)=>{leturi=newURL(request.url);(...)}但是失败了TypeError[ERR_INVALID_URL]:InvalidURL:/这很有趣,因为consturl=require('url');url.parse();有效。所以我对此很好奇。我了解后一种方法较旧。我在本地进行开发,因此要在浏览器中使用localhost:8000发送请求。如何使用re

javascript - (React-Native) undefined 不是评估 'new FormData()' 的构造函数

在过去的两天里,我一直在努力解决这个问题,但无法弄清楚。我不明白这个错误。这是我的代码:try{varformData=newFormData();}catch(error){console.error('FormDataERROR',error);}这是错误:017-06-2113:49:02.761[error][tid:com.facebook.React.JavaScript]'FormDataERROR',{[TypeError:undefinedisnotaconstructor(evaluating'newFormData()')]line:98419,column:36

javascript - 选择 2 : add new tag dynamically using code

我正在使用select2进行标记,并且对其进行了设置,以便用户也可以添加新标记。我正在处理的问题是验证用户输入并将经过清理的标签添加到选择中。更具体地说,当用户在标签中输入空格时,我使用formatNoMatches显示js链接以清理标签,然后以编程方式添加标签。这段代码似乎运行没有错误,但是当调用sanitize时,输入的所有选择都被清除。任何我可能出错的线索?vardata=[{id:0,tag:'enhancement'},{id:1,tag:'bug'},{id:2,tag:'duplicate'},{id:3,tag:'invalid'},{id:4,tag:'wontfix