草庐IT

binary_log_types

全部标签

JavaScript 样式 : don't use wrapper objects for primitive types

在GoogleJavaScript风格指南中,它说不要对基本类型使用包装对象。它说这样做是“危险的”。为了证明它的观点,它使用了这个例子:varx=newBoolean(false);if(x){alert('hi');//Shows'hi'.}好吧,我放弃了。为什么这里执行if代码? 最佳答案 因为每个typeofObject的变量都是真实的,包装器是对象。 关于JavaScript样式:don'tusewrapperobjectsforprimitivetypes,我们在StackO

javascript - 无法在 'getComputedStyle' : parameter 1 is not of type 'Window' error 上执行 'Element'

我在使用一些继承代码时遇到了问题-它是类似于FB的墙上应用程序,注册用户可以在其中发布主题。很多代码是JS和jQuery,我对两者都知之甚少。发布主题时,主题被添加到数据库中,但屏幕在刷新之前不显示主题,但它应该立即显示-当我查看开发人员工具时,我收到错误:UncaughtTypeError:Failedtoexecute'getComputedStyle'on'Window':parameter1isnotoftype'Element'.当我展开错误时,我得到:curCSS@jquery-1.8.3.js:6825jQuery.extend.css@jquery-1.8.3.js:6

javascript - 为什么 jQuery 的 $.type() 定义为返回 "object"而不是 "error"用于原生 ECMAScript 错误对象?

更新:我创建了一个工单:http://bugs.jquery.com/ticket/12191jQuery的$.type()函数返回对象的[[Class]]内部属性(小写)。例如:$.type({})//"object"$.type([])//"array"$.type(function(){})//"function"但是,它只适用于这些类型的对象:BooleanNumberStringFunctionArrayDateRegExpObject这段jQuery的源码指定://Populatetheclass2typemapjQuery.each("BooleanNumberStrin

javascript - 在IE11中,如何使用console.log?

尝试使用console.log()但它总是打印undefined。尝试使用类似Console.logIE9issue的解决方案它也不起作用。在此IE11document,有如下语句:最后但同样重要的是,忘记console.log()。新工具现在可以轻松支持Tracepoints,让您可以像通过console.log()一样监控特定值。这是什么意思?如何在IE11中使用console.log打印变量?系统:windows7(VirtualBoxIEimages)IE版本:11似乎console.dir()是一个选项,但是console.log()怎么样?它在document中,但为什么不

javascript - typescript TS2322 : Type 'typeof Foo' is not assignable to type 'IFoo'

我正在尝试使用ES2015模块语法和TypeScript组合一些类。每个类在.d.ts文件中实现一个接口(interface)。这是问题的MWE。在.d.ts文件中我有:interfaceIBar{foo:IFoo;//...}interfaceIFoo{someFunction():void;//...}我的导出是://file:foo.tsexportdefaultclassFooimplementsIFoo{someFunction():void{}//...}//noerrorsyet.我的导入是:importFoofrom"./foo";exportclassBarimple

javascript - console.log 中的错误值

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:IsChrome'sJavaScriptconsolelazyaboutevaluatingarrays?我在javascript中有以下代码片段,其输出让我觉得出了点问题。1.a=2;console.log(a);a+=2;console.log(a);输出:24;正如预期的那样2.t=[0,2];console.log(t);t[0]+=2;console.log(t);输出:[2,2][2,2]输出不应该是[0,2][2,2]?上述两种情况有什么区别导致两种情况的不同答案?

javascript - 流: Dynamically generate string union types?

假设我有一个流类型Suit,我想将它组合成另一种名为Card的类型。//types.jstypeSuit=|"Diamonds"|"Clubs"|"Hearts"|"Spades";typeCard={...suit:Suit,...}与其直接在suit.js中对Suit字符串进行硬编码,不如根据JavaScript原语(数组)动态生成Suit类型?说...//constants.jsconstSUITS=['Diamonds','Clubs','Hearts','Spades'];通过这种方式,西装只需定义一次,并且可以在JavaScript结构中定义,该结构将在应用程序的其他部分中

javascript - 在 Chrome 的 Worker 中使用 `console.log` 会打印两次相同的消息

与标题差不多。更奇怪的是,这只会在您在新选项卡中运行程序时发生,如果您只是刷新页面,每个console.log只会有一条消息。这是main.js:constworker=newWorker('worker.js');这是worker.js:console.log('Foobar!');这是index.html:WebWorkersFirefox不会发生同样的情况。我使用的是Chrome版本65,更奇怪的是,重复的消息似乎不属于“上下文”下拉列表中列出的任何上下文,因此当我尝试过滤除worker.js发送的消息之外的所有控制台消息时,列出的唯一消息是第一条消息,第二条消息(副本)似乎不属

javascript - Chrome 中的 Math.log2 精度发生了变化

我编写了一个JavaScript程序,它根据元素的数量计算二叉树的深度。我的程序几个月来一直运行良好,但最近我发现在Chrome和Firefox中查看网页时存在差异。特别是在Firefox上:Math.log2(8)=3但现在在Chrome中:Math.log2(8)=2.9999999999999996我的JavaScript程序最初是为了根据元素的数量来查找二叉树的深度而编写的:vartree_depth=Math.floor(Math.log2(n_elements))+1;我对这个公式做了一个简单的修改,以便它在Chrome上仍然可以正常工作:varepsilon=1.e-5;

javascript - Angular 2 : Type 'Subscription' is not assignable to type

我创建了一个非常小的应用程序来从json文件中获取国家并将其绑定(bind)到下拉列表。countries.jsonexportclassCountry{id:number;name:string;}factory.service.tsimport{Injectable}from'@angular/core';import{Http,Response}from'@angular/http';import{Observable}from'rxjs/Observable';import{Country}from'./shared/country';@Injectable()exportcl