草庐IT

date_array

全部标签

Javascript for ... in 循环与 Object.prototype 和 Array.prototype 属性

这个问题在这里已经有了答案:HowtodefinemethodinjavascriptonArray.prototypeandObject.prototypesothatitdoesn'tappearinforinloop(4个答案)Whyisusing"for...in"forarrayiterationabadidea?(28个答案)Howtoiterateoverallpropertiesinobject'sprototypechain?(1个回答)关闭5年前。我正在阅读MDNdocs为了更好地理解javascript。这是那里的摘录Object.prototype.objCus

javascript - new(Date) 和 new Date() 有什么区别?

在javascript中,新建一个对象的典型方法是这样做:newDate()。但您也可以这样做:new(Date)。后一种方式的区别和优势是什么? 最佳答案 没有区别。new运算符采用函数引用。与任何其他运算符一样,操作数可以有括号。没有参数的new表达式后的()是可选的。但是,如果括号内有更复杂的表达式,它们可以更改优先顺序,例如thisanswer. 关于javascript-new(Date)和newDate()有什么区别?,我们在StackOverflow上找到一个类似的问题:

javascript - jQuery 用户界面 : Autocomplete - How do I search multiple values within an array?

如果您查看以下JS:(实时:http://jsfiddle.net/RyanWalters/dE6T3/2/)varprojects=[{value:"jquery",label:"jQuery",desc:"thewriteless,domore,JavaScriptlibrary",icon:"jquery_32x32.png"},{value:"jquery-ui",label:"jQueryUI",desc:"theofficialuserinterfacelibraryforjQuery",icon:"jqueryui_32x32.png"},{value:"sizzlejs

javascript - 为什么我们不能在没有 new 运算符的情况下调用 Date() 类的方法

这个问题在这里已经有了答案:DifferencebetweenDate(dateString)andnewDate(dateString)(10个答案)关闭8年前。假设我这样定义一个变量vartoday=Date();console.log(today.getMonth());//ThrowError而像Error类这样的其他类在没有new运算符的情况下调用它们的方法。functionfactorial(x){if(x包装器对象(数字、bool值、字符串)也可以在没有new运算符的情况下调用它们的方法。那么,这是唯一一个在调用它们的方法之前需要new运算符或任何对象创建技术的类吗。编辑

javascript - Array.prototype.slice - 如果结束参数大于数组长度怎么办?

我找不到它-如果传递给Array.prototype.slice的end参数大于数组长度怎么办?我已经对其进行了测试并且可以正常工作(在Chrome中),但我不确定这是否是标准行为因此可以普遍使用? 最佳答案 如果end大于数组的长度,则使用数组的长度。来自thespec:IfrelativeEndelseletfinalbemin(relativeEnd,len).所以是的,这是可以使用的标准行为。解决您问题的这一部分:Ican'tfindit我发现最快的方法是搜索“mdnarrayslice”——第一个结果通常是MozillaD

javascript - node.js 时区独立 Date.now()

在node.js中跨服务器和客户端同步时间戳的常用方法是什么,而不依赖于时区?例如,将在服务器和客户端上提供相同时间的Date.now()等价物。最好没有任何node.js模块或客户端库。 最佳答案 JavaScript时间戳始终基于UTC:TimeismeasuredinECMAScriptinmillisecondssince01January,1970UTC.来自不同时区的日期字符串可以具有相同的时间戳。vara="2013-08-2612:00GMT-0800";varb="2013-08-2700:00GMT+0400";

javascript - Date.parse() 和 .getTime() 之间的区别

之间的主要区别是什么:dt=newDate();ms=Date.parse(dt);和dt=newDate();ms=dt.getTime();它们具有相同的输出,但有什么区别?我应该使用哪一个? 最佳答案 第一个版本将Date转换为字符串并对其进行解析,这是一件毫无意义的事情-我怀疑在某些情况下可能会丢失信息。(想象一下在DST转换期间,当时钟倒退时-相同的本地时间在那个小时出现两次,我不知道字符串表示是否会区分两次出现。)在我看来,第二个要干净得多。一般来说,您应该避免在不需要时进行字符串转换-它们通常会导致问题,并且您尝试做的

javascript - 为什么 `{}.toString.apply(array)` 不起作用?

通常,当我想检查对象的类型时(无论是数组、NodeList还是其他),我使用以下方法:vararr=[]//Idon'tdothis,butit'sforthesakeoftheexamplevarobj={}obj.toString.apply(arr)//Thisworks问题是:为什么我不能做以下事情?vararr=[]{}.toString.apply(arr)//Syntaxerror:Unexpectedtoken.我不明白语法错误在哪里。虽然我可以用[]做一些事情,但以下工作:varnodeList=document.getElementsByClassName('foo

javascript - 为什么我不能在 Javascript 元素集合上使用 Array.forEach?

这个问题在这里已经有了答案:HowtoloopthroughalltheelementsreturnedfromgetElementsByTagName[duplicate](10个答案)关闭6年前。我正在使用Babel/ES6构建一个应用程序。我想为它的仅查看版本禁用所有表单元素,所以我这样做了:letform=document.getElementById('application-form')letelements=form.elements我希望能够做到这一点,而不是使用常规的旧for循环(确实有效):elements.forEach((el)=>{el.disabled=tr

javascript - 为什么 Date 接受负值?

根据MDN“日期对象基于一个时间值,该时间值是自1970年1月1日UTC以来的毫秒数。”那为什么它接受负值呢?即使负值不应该是1970年1月1日之前的平均值吗?newDate('0000','00','-1');//"1899-12-30T05:00:00.000Z"newDate('0000','00','00');//"1899-12-31T05:00:00.000Z"newDate('-9999','99','99');//"-009991-07-08T04:00:00.000Z"发生了什么事?更新对于一些正值,年份从1900年开始newDate(100);//"1970-01-