程序设计

专业和发烧友程序员的问答

12
JavaScript的“ new”关键字是否被认为有害?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 在另一个问题中,用户指出该new关键字使用危险,并提出了不使用该对象创建对象的解决方案new。我不相信这是真的,主要是因为我使用了Prototype,Scriptaculous和其他出色的JavaScript库,并且每个人都使用了new关键字。 尽管如此,昨天我还是在Douglas Crockford在YUI剧院观看了演讲,他说的一模一样,他new不再在代码中使用关键字(JavaScript上的Crockford-Act III:终极功能-50:23分钟)。 使用new关键字是否“不好” ?使用它的优缺点是什么?
568 javascript 



12
C ++:“ std :: endl”和“ \ n”
许多C ++书籍都包含这样的示例代码... std::cout << "Test line" << std::endl; ...所以我也总是这样做。但是,我已经从工作的开发人员那里看到了很多这样的代码: std::cout << "Test line\n"; 是否有技术上的理由要优先于另一个,还是仅仅是编码风格的问题?

18
为什么总是在__new __()之后调用__init __()?
我只是想简化我的一个类,并以与flyweight设计模式相同的样式介绍了一些功能。 但是,对于为什么__init__总是被称为after ,我有点困惑__new__。我没想到这一点。谁能告诉我为什么会这样,否则我如何实现此功能?(除了将实现放到__new__hacky中之外)。 这是一个例子: class A(object): _dict = dict() def __new__(cls): if 'key' in A._dict: print "EXISTS" return A._dict['key'] else: print "NEW" return super(A, cls).__new__(cls) def __init__(self): print "INIT" A._dict['key'] = self print "" a1 = A() a2 = A() a3 = A() 输出: NEW INIT EXISTS INIT EXISTS INIT …

30
IntelliJ检查给出“无法解析符号”但仍编译代码
平台:IntelliJ社区版10.0.3 SDK:jdk1.6.0_21 操作系统:Windows 7 所以我在IntelliJ上遇到了一个奇怪的情况,这使我感到完全困惑。我设置了一个Maven项目,并将log4j作为依赖项添加到pom.xml文件中。IDEA检查运行正常,我的单元测试全部编译并运行。 然后,我使用mvn install:install-file将hunnysoft的jmime库添加到本地maven存储库中,如下所示。 mvn install:install-file -Dfile=jmime.jar -DgroupId=jmime \ -DartifactId=jmime -Dversion=3.1.1e -Dpackaging=jar Maven将jar文件安装到我的本地存储库中就可以了。 然后,我进入IntelliJ的Settings => Maven => Repository Services,并更新了我的本地存储库(以便IntelliJ重新索引存储库内容)。 最后,我在pom.xml文件中添加了以下依赖性(仅在log4j依赖性之上)。 <dependency> <groupId>jmime</groupId> <artifactId>jmime</artifactId> <version>3.1.1e</version> </dependency> 我现在创建一个新类,如下所示: package com.stackoverflow.question; import org.apache.log4j.Logger; import com.hunnysoft.jmime.ByteString; import com.hunnysoft.jmime.Field; import com.hunnysoft.jmime.FieldBody; public class StackOverflowQuestion { public Field create(String name, String text) { …



7
'$(this)'和'this'有什么区别?
我目前正在研究本教程:jQuery入门 对于以下两个示例: $("#orderedlist").find("li").each(function (i) { $(this).append(" BAM! " + i); }); $("#reset").click(function () { $("form").each(function () { this.reset(); }); }); 请注意,在第一个示例中,我们用于$(this)在每个li元素内附加一些文本。在第二个示例中,我们this在重置表单时直接使用。 $(this)似乎比经常使用this。 我的猜测是,在第一个示例中,$()是将每个li元素转换为可以理解append()功能的jQuery对象,而在第二个示例中,reset()可以直接在表单上调用它。 基本上,我们需要$()特殊的仅jQuery函数。 它是否正确?
567 javascript  jquery  this 

5
为什么Math.round(0.49999999999999994)返回1?
在下面的程序中,您可以看到.5除以外的每个值都略小于四舍五入0.5。 for (int i = 10; i >= 0; i--) { long l = Double.doubleToLongBits(i + 0.5); double x; do { x = Double.longBitsToDouble(l); System.out.println(x + " rounded is " + Math.round(x)); l--; } while (Math.round(x) > i); } 版画 10.5 rounded is 11 10.499999999999998 rounded is 10 9.5 rounded …


6
Docker如何更改存储库名称或重命名映像?
我正在尝试更改图像的存储库名称: REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE server latest d583c3ac45fd 26 minutes ago 685.5 MB 因此,我想将名称更改server为类似myname/server: REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE myname/server latest d583c3ac45fd 26 minutes ago 685.5 MB 我怎样才能做到这一点?




By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.