草庐IT

new_order

全部标签

javascript - ECMAScript 规范中的 `new Object` 与 `Object`

因此,我正在查看ES5规范中关于newObject和Object功能的定义。令我惊讶的是:newObject描述了对象构造函数如何工作的完整算法-处理不同类型的值所发生的情况。基本上在非对象上调用ToObject-对象上的标识并在null和undefined上构建。Object对于null和undefined有一个特殊的第一步,它构建一个对象,然后调用ToObject基元和对象的身份。在阅读了几次描述之后-它们看起来相同。但是,从规范中可以清楚地看出它们有些不同。例如在Array中-调用newArray指定为thefunctioncallArray(…)isequivalenttoth

javascript - JavaScript 中的 "throw new Warning"?

目前我正在用错误处理扩展我的JavaScript项目。throw语句在这里发挥着重要作用:thrownewError("text");//Error:text但是,我也可以发出警告吗?我尝试了以下无济于事:thrownewWarning("text");//Warningisnotdefined错误使Chrome的开发者工具显示一个红叉,但我怎样才能让它显示一个警告图标(黄色感叹号)? 最佳答案 像这样:console.warn('Hi!');请注意,与异常不同,这不会中断您的代码;调用函数将正常继续。另请注意,这将在除WebKit

javascript - 为什么 new String ('hello' ) === new String ('hello' ) 的计算结果为 False?

这个问题在这里已经有了答案:Whichequalsoperator(==vs===)shouldbeusedinJavaScriptcomparisons?(48个回答)JavaScriptcomparisonoperators:Identityvs.Equality(4个答案)关闭8年前。为什么下面的语句在JavaScript中返回false?newString('hello')===newString('hello')

Javascript 数组声明 : new Array(), new Array(3), ['a' , 'b' , 'c' ] 创建行为不同的数组

考虑这个示例Javascript代码:a=newArray();a['a1']='foo';a['a2']='bar';b=newArray(2);b['b1']='foo';b['b2']='bar';c=['c1','c2','c3'];console.log(a);console.log(b);console.log(c);Firebug控制台中的结果如下:对于a(必须通过单击“+”按钮来展开“[]”):[]a1"foo"a2"bar"对于b:[undefined,undefined]对于c:["c1","c2","c3"]我的问题是:我是否正确使用了array['key']='

javascript - Date(dateString) 和 new Date(dateString) 的区别

我有一些代码试图解析日期字符串。当我执行alert(Date("2010-08-1712:09:36"));它正确地解析了日期并且一切正常,但我无法调用与Date关联的方法,例如getMonth()。当我尝试时:vartemp=newDate("2010-08-1712:09:36");alert(temp);我收到“无效日期”错误。关于如何使用newDate()解析“2010-08-1712:09:36”有什么想法吗? 最佳答案 日期()用它调用名为Date()的函数。它不接受任何参数并返回表示当前日期和时间的字符串。新日期()有

JavaScript:好的部分——如何完全不使用 `new`

Crockford的书JavaScript:TheGoodParts说(第114页)构造函数的名称应始终以大写字母开头(即点),并且首字母大写的函数名称应该仅与构造函数一起使用(其他一切都应该是小写)。这个约定帮助我们避免忘记将new运算符与构造函数一起使用。他接着说,“更好的应对策略是根本不使用new。”我的问题是,我们如何在完全不使用new的情况下编写JavaScript?我们可以使用文字{}和[]来避免newObject()和newArray()>.我们可以用0避免newNumber()、newBoolean()和newString()>、true和''。我们可以用/patter

javascript - 在 typescript 中使用传播语法和 new Set()

我正在使用以下代码来获取唯一编号:letuniques=[...newSet([1,2,3,1,1])];//[1,2,3]但是,typescript报告以下错误:Type'Set'isnotanarraytype.我不是打字忍者,有人能告诉我这里出了什么问题吗? 最佳答案 更新:使用Typescript2.3,您现在可以将"downlevelIteration":true添加到您的tsconfig,这将在针对ES5时起作用。downlevelIteration的缺点是TS在转译时必须注入(inject)相当多的样板文件。问题中的单

javascript - Promise.resolve 与 new Promise(resolve)

我正在使用bluebird,我看到了两种将同步函数解析为Promise的方法,但我不明白这两种方法之间的区别。看起来堆栈跟踪有点不同,所以它们不仅仅是一个别名,对吧?那么首选的方式是什么?方式AfunctionsomeFunction(someObject){returnnewPromise(function(resolve){someObject.resolved=true;resolve(someObject);});}方式BfunctionsomeFunction(someObject){someObject.resolved=true;returnPromise.resolve

javascript - new Date ("2017-01-01") 和 new Date ("2017-1-1") 有什么区别?

这个问题在这里已经有了答案:Whyisn't"2016-02-16"equalto"2016-02-1600:00"?(5个答案)关闭5年前。我在chrome控制台中输入newDate("2017-01-01"),输出显示它的小时是8,但是newDate("2017-01-1")和newDate("2017-1-01")显示它们的小时都是0,那么newDate(dateString)是如何解析的呢?newDate("2017-01-01")//SunJan01201708:00:00GMT+0800(中国标准时间)*newDate("2017-01-1")//SunJan0120170

javascript - Highcharts - redraw() 与 new Highcharts.chart

我正在努力了解更新highcharts图表的正确方法。假设我已经渲染了一个图表,然后我想以某种方式更新它。例如,我可能想要更改数据系列的值,或者我可能想要启用数据标签。目前我能弄清楚如何做到这一点的唯一方法是更改​​图表选项,并使用newHighcharts.chart告诉highcharts重绘。但是,我想知道这是否有点矫枉过正,是否可以“就地”更改图表,而不必使用newHighcharts.chart从头开始​​。我注意到有一个redraw()方法,但我似乎无法让它工作。非常感谢任何帮助。谢谢,罗宾示例代码如下,最下面有一个jsFiddle$(document).ready(fun