为了在JavaScript中复制数组:以下哪个更快使用?
var dup_array = original_array.slice();
Run Code Online (Sandbox Code Playgroud)
For
环for(var i = 0, len = original_array.length; i < len; ++i)
dup_array[i] = original_array[i];
Run Code Online (Sandbox Code Playgroud)
我知道两种方式只做一个浅的副本:如果original_array包含对象的引用,则不会克隆对象,但只会复制引用,因此两个数组都将引用相同的对象.但这不是这个问题的重点.
我只询问速度.
$string = "
put returns between paragraphs
for linebreak add 2 spaces at end
";
Run Code Online (Sandbox Code Playgroud)
想要从字符串中删除所有新行.
我有这个正则表达式,它可以捕获所有这些,问题是我不知道我应该使用哪个函数.
/\r\n|\r|\n/
Run Code Online (Sandbox Code Playgroud)
$string
应成为:
$string = "put returns between paragraphs for linebreak add 2 spaces at end ";
Run Code Online (Sandbox Code Playgroud) 我有一个文件夹 C:\Folder1
我想将所有内容复制Folder1
到另一个位置,D:\Folder2
如何使用批处理文件执行此操作?
在Windows批处理文件中是否可以在单个 FOR
循环中调用多个命令?比方说,我想打印文件名,删除后:
@ECHO OFF
FOR /r %%X IN (*.txt) DO (ECHO %%X DEL %%X)
REM the line above is invalid syntax.
Run Code Online (Sandbox Code Playgroud)
我知道在这种情况下我可以通过执行两个不同的FOR循环来解决它:一个用于显示名称,一个用于删除文件,但是是否可以仅在一个循环中执行此操作?
有谁知道为什么宽度为100%的输入元素超过了表格的单元格边框.
在下面的简单示例输入框中查看表格的单元格边框,结果很可怕.这已经过测试,它以相同的方式发生:Firefox,IE7和Safari.
这对你有意义吗?我错过了什么,你知道可能的解决方案吗?
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <!-- don't use closing slash in meta tag, it breaks HTML4.01 transitional -->
<title>Test input text in table</title>
<style type="text/css">
table {border-top: 1px solid #ff0000; border-left: 1px solid #ff0000;}
table td {border-right: 1px solid #00ff00; border-bottom: 1px solid #00ff00;}
input[type="text"] {width: 100%;} /* removing this would make input not to go over cells border, but they would be too short, I want them to …
Run Code Online (Sandbox Code Playgroud) 我们都知道单身人士有多糟糕,因为他们隐藏了依赖关系和其他原因.
但是在一个框架中,可能有许多对象只需要实例化一次并从任何地方调用(logger,db等).
为了解决这个问题,我被告知使用一个所谓的"对象管理器"(或像symfony这样的服务容器),它在内部存储对服务的每个引用(记录器等).
但为什么服务提供商不像纯粹的单身人士那样糟糕?
服务提供商也隐藏了依赖关系,他们只是创建了第一个istance.所以我真的很难理解为什么我们应该使用服务提供商而不是单身人士.
PS.我知道不要隐藏依赖关系我应该使用DI(如Misko所述)
我想补充一点:这些天单身人士不是那么邪恶,PHPUnit的创建者在这里解释:
DI + Singleton解决了这个问题:
<?php
class Client {
public function doSomething(Singleton $singleton = NULL){
if ($singleton === NULL) {
$singleton = Singleton::getInstance();
}
// ...
}
}
?>
Run Code Online (Sandbox Code Playgroud)
这很聪明,即使这根本不能解决所有问题.
除DI和Service Container之外是否有任何可接受的解决方案来访问此帮助程序对象?
当有人按下返回键并且表单中没有按钮时,有人可以告诉我如何提交HTML表单吗? 提交按钮不存在.我正在使用自定义div而不是那个.
我有一个类在其内部实现中使用常量,但我想限制这些常量的可见性.为什么PHP不允许私有常量?有没有另一种方法来实现这一点,或者PHP试图阻止某些类型的设计失误我不知道?
PHP不允许
class Foo
{
private const my_private_const;
Run Code Online (Sandbox Code Playgroud)
但当然允许
const my_const;
Run Code Online (Sandbox Code Playgroud)
所以实际上常量是全局的,因为我可以my_const
在任何地方使用Foo::my_const
有没有办法制作私有常量?
我在这里阅读(Douglas Crockford)使用原型运算符向Javascript类添加方法也保存了内存.
然后我读到了John Resig的文章 "用一堆原型属性实例化一个函数是非常非常快的 ",但他是在谈论以标准方式使用原型,还是他在他的文章中谈论他的具体例子?
例如,正在创建此对象:
function Class1()
{
this.showMsg = function(string) { alert(string); }
}
var c = new Class1();
c.showMsg();
Run Code Online (Sandbox Code Playgroud)
比创建这个对象慢吗?
function Class1() {}
Class1.prototype.showMsg = function(string) { alert(string); }
var c = new Class1();
c.showMsg();
Run Code Online (Sandbox Code Playgroud)
PS
我知道原型用于创建继承和单例对象等.但是这个问题与这些主题没有任何关系.
编辑:对于JS对象和JS静态对象之间的性能比较它可能感兴趣的人可以阅读下面的答案.静态对象肯定更快,显然只有在不需要多个对象实例时才能使用它们.
php ×4
javascript ×3
batch-file ×2
const ×2
copy ×2
html ×2
oop ×2
private ×2
windows ×2
arrays ×1
cmd ×1
directory ×1
duplicates ×1
frameworks ×1
html-table ×1
input ×1
performance ×1
regex ×1
slice ×1
string ×1
width ×1