我需要检查日期是否自1990年1月1日起的第5天.
日期包括:
Jan 5, 1990,
Jan 10, 1990,
Jan 15, 1990,
Jan 20, 1990,
Jan 25, 1990,
Jan 30, 1990,
Feb 4, 1990,
Feb 9, 1990,
Run Code Online (Sandbox Code Playgroud)
等等.
该算法还必须在将来工作,所以即使程序在2年后运行,我也能够检查它是否是第5天.
任何想法如何解决这个问题?
现在我正在迭代并在1990年增加5天,但这是很多不必要的循环.如果我的程序在5年内使用,那就是另外5年的日期循环.
我是否应该public
在继承类时始终添加关键字?在执行此代码时:
class Derived : public Base {
}
Run Code Online (Sandbox Code Playgroud)
我认为99%的情况下这是正确的做法.对?
我写了这个简单的例子来说明我的问题.我有一个Base类和Derived类.当我调用派生类的justdoit
函数时,它不调用派生类doer
函数,而是调用基类的doer
函数.
预期产量:
Base::doer
Derived::doer
Run Code Online (Sandbox Code Playgroud)
实际产量:
Base::doer
Base::doer
Run Code Online (Sandbox Code Playgroud)
码:
<?
class Base {
public function justdoit() {
$this->doer();
}
private function doer() {
print "Base::doer\n";
}
}
class Derived extends Base {
private function doer() {
print "Derived::doer\n";
}
}
$b = new Base;
$b->justdoit();
$d = new Derived;
$d->justdoit();
?>
Run Code Online (Sandbox Code Playgroud)
这是C++中的相同代码示例,它可以工作:
class A {
public:
void justdoit();
private:
virtual void doit();
};
void A::justdoit() {
doit();
}
void A::doit() {
std::cout << "A::doit\n";
} …
Run Code Online (Sandbox Code Playgroud) 谁能解释为什么fn.length
在JavaScript中调用返回命名参数的数量fn
?
> function fn () { }
> x.length
0
> function fn (a) { }
> x.length
1
> function fn (a,b,c) { }
> x.length
3
Run Code Online (Sandbox Code Playgroud)
非常奇怪的行为.我很想知道为什么会这样.
我正在尝试以下但它似乎没有工作:
<script src="/script.js">
alert(hello);
</script>
Run Code Online (Sandbox Code Playgroud)
Script.js只包含var hello = "world"
.
你能不把代码放在<script src="...">CODE RIGHT HERE</script>
哪?
如果我跳过src
它的作品:
<script src="/script.js"> </script>
<script>
alert(hello);
</script>
Run Code Online (Sandbox Code Playgroud)