草庐IT

Java协变返回类型

全部标签

javascript - javascript 中的不可变类型

在我看来,不可变类型在Javascript中是不可能的,或者有人知道创建它们的任何技巧吗?这是好事还是坏事?例如,varPoint2D=functionPoint2D(x,y){var_x=x;var_y=y;functionconstructor(){varself={};//Pseudo-Immutableconceptself.x=function(){return_x;}();self.y=function(){return_y;}();returnself;}returnconstructor();}这当然不是真正不可变的,但如果它是1)充分证明属性'x'和'y'是gette

javascript - 如何从 Javascript 中用 new 调用的构造函数返回 null?

我试图让构造函数在出现问题时中止对象构造,例如它无法获得Canvas。但是当我使用new时,我看到klass()总是返回this而不管任何返回null或任何其他值,我可以解决这个问题以返回无效?现在我想到,一个解决方案可能是在klass()中创建新实例并返回该实例或null,而不是使用new,有没有更好的解决方案?functionklass(canvas_id){varcanvas=document.getElementById(canvas_id);if(!(canvas&&canvas.getContext)){returnnull;}}varinstance=newklass('

javascript - 选择类型不是复选框的所有输入标签

我需要CSS选择器来匹配所有类型为not的输入标签checkbox.这场比赛:...但这不:因为类型是checkbox!这是我目前拥有的:input:not(type="checkbox")不幸的是,它不有效!我的问题来了:如何修复我的CSS3选择器?没有CSS3和JavaScript是否可行?不使用CSS3而使用JavaScript是否可行?感谢任何建议! 最佳答案 您的属性选择器缺少方括号:input:not([type="checkbox"])如果您要应用样式,则需要在CSS中使用覆盖规则:input{/*Stylesfora

javascript - parseInt 总是返回 NaN?

长话短说,我正在尝试验证电话字段。我已经添加isNaN和parseInt用于检查字段中的""但那是说下面这个永远不会验证为真..我错过了什么?if(isNaN(parseInt(phone))){error.text("Sorrybutthisphonefieldrequiresnumbersonly");returnfalse;}else{returntrue;}它总是失败......即使我在字段中输入数字并提交,它也永远不会显示为真。我总是收到错误消息。编辑:我正在测试来自表单的输入值,phone是字段的名称。 最佳答案 将JS

javascript - 这是什么类型的 JavaScript?

我有一个应用程序散布着这种格式,但我不知道它是什么类型。它不是jQuery,那它是什么?$('some_edit').style.display="block";$('some_views').style.display="none";我在Firebug中得到这个,我知道元素存在:$("some_edit").styleisundefined 最佳答案 可能有很多事情-检查源代码(或使用Firebug)并查看正在加载哪些JS库。 关于javascript-这是什么类型的JavaScrip

javascript - Firebase 在创建帐户后返回用户对象

我试图在Firebase中创建用户,然后在Web服务器上的数据库中创建用户配置文件。我已经实现了以下代码,可以很好地创建用户。但是我不确定如何接收用户ID(我需要一个唯一ID)来创建数据库结构。有没有办法在调用createUserWithEmailAndPassword时返回用户对象?我试图实现一个firebase.auth().onAuthStateChanged函数,但随后收到超时错误如果你还没有收集到这是一个网络应用程序。functioncreateUser(){varResult="true";vartextUser=document.getElementById('userN

javascript - 数组长度返回 0

谁能帮忙解释一下为什么length返回0?非常感谢您!varerrors=[];errors['']="MondayMorningslotalreadytaken.Wouldyouliketoreplaceit?";console.log(errors);document.write(errors.length); 最佳答案 只有数字索引会影响数组的.length。允许使用其他命名属性,但它们不是Array对象的典型用途。通过使用"",您在对象上创建了一个非数字属性。您可以像这样访问它:errors[""];但是您无法使用典型的Ar

javascript - 返回 String vs Integer vs undefined vs null

为什么javascript比任何其他选择更喜欢返回String?考虑以下代码段。vararr=['Hello1','Hello2','Hello3'];Array.prototype.item=function(x){returnthis[x]||null||'aïe'||12||undefined;};console.log(arr.item(43));//returnsaïe我故意调用了一个不存在的数组元素。但是我不明白为什么arr.item(43)返回String?为什么不是null或undefined甚至12? 最佳答案 因

javascript date getYear() 在 IE 和 Firefox 之间返回不同的结果,如何处理这个问题?

显然javascript日期对象的方法getYear()在IE8和Firefox3.6之间返回不同的结果(我的机器上有这两个,不确定其他浏览器或版本)Dated=newDate();alert(d.getYear());FF3.6==>111(yearsince1900?iguess)IE8===>2011我一直只在Firefox上进行测试,现在我调整getYear()返回值的Javascript代码现在由于我的编码而给了我3911。varmodified=d.getYear()+1900在Firefox上它返回2011。但是如果我在IE8上应用这种方法,它返回3911。我可以添加逻辑

javascript - jQuery 在 Internet Explorer 8 中不起作用 ("this"返回 DOM 而不是 jq)

我遇到了一个奇怪的问题,找不到任何解决方案。jQuery(任何版本,从1.7.*到1.10.*)在InternetExplorer8中失败。所有插件(来自Bootstrap)和jQuery库都出现错误:Objectdoesn'tsupportthispropertyormethodScreenshotfromdebugger:挖掘插件代码,像这样:$.fn.alert=function(option){returnthis.each(function(){//...})}显示问题:this关键字指向HTMLDomObject,而不是jQuery对象。什么会导致如此奇怪的错误?仅Inte