我正试图在javascript中获取日期名称.每次我搜索功能的使用getDay(),都会解释此方法返回星期几,例如:0表示星期日,1表示星期一等.
所以2010年第1季度是周五,有人可以解释为什么我会得到1而不是5?同样的2010年第二届janauary,我得到2而不是5.
我已经尝试过一些方法来做到这一点但没有成功.
这是我的代码:
theDay = new Date(2010,01,01);
alert(theDay.getDay());
Run Code Online (Sandbox Code Playgroud)
谢谢 !!!
FWIW我正在使用SimpleTest 1.1alpha.
我有一个单例类,我想编写一个单元测试,通过尝试实例化类(它有一个私有构造函数)来保证该类是一个单例.
这显然会导致致命错误:
致命错误:调用私有FrontController :: __ construct()
有没有办法"捕获"致命错误并报告通过的测试?
我不知道也许这是一个错误.
我的服务器上有2个虚拟主机.
virtualhost1.com virtualhost2.com
如果我用端口80打开virtualhost1.com(virtualhost1.com:80)
$_SERVER['HTTP_HOST']='virtualhost1.com';
Run Code Online (Sandbox Code Playgroud)
但如果我打开virtualhost2.com:80
$_SERVER['HTTP_HOST']='virtualhost2.com:80'; // NOTE: with port number
Run Code Online (Sandbox Code Playgroud)
我能知道为什么吗?
我们希望在我们的Web应用程序中的所有AJAX调用都能接收JSON编码的内容.在大多数地方,这已经完成(例如在模态中)并且工作正常.
但是,当使用jQueryUI的选项卡(http://jqueryui.com/demos/tabs/)及其ajax功能时,只能返回纯文本HTML(即从下面的a标签中指定的URL).我如何让tab功能识别出每个标签的点击,它将从指定的URL接收JSON编码的数据,并加载该JSON的.content索引?
$(function() {
$('div#myTabs').tabs();
});
<div id="mytabs" class="ui-tabs ui-widget ui-widget-content ui-corner-all">
<ul class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all">
<li class="ui-state-default ui-corner-top"><a href="/url/one">Tab one</a></li>
<li class="ui-state-default ui-corner-top"><a href="/url/two">Tab two</a></li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud) 我刚刚重新格式化了CakePHP应用程序的默认布局.通过将几乎所有内容放在html帮助器方法中,我尽可能地消除了内联html.
这很有趣,但我想知道我从这次练习中获得了什么好处,如果有的话?
<?php
$output = implode("\n", array(
$html->docType(),
$html->tag('html', implode("\n", array(
$html->tag('head', implode("\n", array(
$html->charset(),
$html->tag('title', 'Title For App'),
$html->css('css', NULL, array('media' => 'screen,print')),
$html->css('print', NULL, array('media' => 'print')),
$html->script(array('cufon', 'jquery','external'))
))),
$html->tag('body', implode("\n", array(
$html->tag('div', $content_for_layout, array('id' => 'wrapper')),
$html->scriptBlock('Cufon.now();')
)))
)), array('xmlns' => 'http://www.w3.org/1999/xhtml'))
));
echo $output;
?>
Run Code Online (Sandbox Code Playgroud)
我想至少它看起来很漂亮和紧凑,并且非常易读.在这种情况下我应该注意哪些陷阱?我应该知道任何速度问题吗?
我喜欢它 - 而我却不喜欢它.
我想我需要说服这种或那种方式.
如果你想知道,在查看源代码时,内容在html中放置了很好的换行符.
正则表达式是动态构建的,但我将它输出到firebug:
(.{1,38})(+|$\n?)
Run Code Online (Sandbox Code Playgroud)
错误是
invalid quantifier +|$\n?)
Run Code Online (Sandbox Code Playgroud)
我不知道从哪里开始.
实际代码是:
var re = top.RegExp;
var regex = new re("(.{1," + len + "})(+|$\\n?)", "gm");
Run Code Online (Sandbox Code Playgroud)
更新: 根据Bennor McCarthy的说明,我将代码更改为:
var regex = new re("(.{1," + len + "})(\+|\$\\n?)", "gm");
Run Code Online (Sandbox Code Playgroud)
Firebug仍然告诉我这个:
invalid quantifier +|$\n?)
[Break on this error] var regex = new re("(.{1," + len + "})(\+|\$\\n?)", "gm");
Run Code Online (Sandbox Code Playgroud)
另一个更新 看起来像我必须加倍削减它,这解决了问题!
var regex = new re("(.{1," + len + "})(\\+|\\$\\n?)", "gm");
Run Code Online (Sandbox Code Playgroud) 我最近回答了这个问题:
当然,首先想到的是一个单身人士.除了一点点例外,其他回答者提供了相同的单例示例.但这让我思考......除了创造单身之外,我并没有真正使用静态方法或属性!
简短的搜索结合了许多关于使用静态方法的教程,几乎所有这些教程都实现了相同单例类的一些变体.
我真的很感兴趣:除了创建单例(或者只是懒惰而想要一个全局函数)之外,我们还有什么理由要创建静态方法?
有没有人有一个使用静态方法的实用例子,使用动态设计模式无法更好地完成?如果在它的上下文中有意义,那么这个例子可以是单例,但除了解决方案的单例方面之外,我还有其他原因.
我正在设计一个角色有很多项目的游戏,这些项目可以是多种类型.有一个角色表,以及按类型细分的十二个不同的可能项目表(例如武器,装甲和各种其他项目类型).
我想创建一个表来保存这些项类型的实例(基本上是一个字符的项表),每一行都有一个来自字符表的外键,以指示哪个字符拥有该项的所有权.
起初我想我会在字符的项目表中创建外键 - 十二个项目表中的每一个都有一个键.但由于每个项目只能是一个"类型",这将导致每行中有11个空字段,这似乎是错误的.
什么是更好的方法?我还没有构建数据库,所以我可以接受其他不使用十二个项目表的库存想法,但是知道这一点:管理界面将允许用户根据需要添加/删除/修改每种类型的项目.
另外,我想坚持最好的规范化实践,所以我会忽略不可避免的"谁在乎?只做有效的工作并使用无效字段."
我正在构建一个包含用户个人资料的用户的网站.配置文件中的许多字段都是可选的.
有很多用户生成内容的机会,因此我需要在网站的许多不同位置(评论,帖子等)显示此内容的作者.在用户的个人资料中,他能够(可选地)填写他的"名字",他的"姓氏"和"显示名称".
为了显示作者,我编写了一个帮助器方法,该方法查看这些字段的提供数组,并按此优先顺序返回用户最合适的名称:
display_name,则会显示.first_name和last_name,但没有display_name,它会显示这两个名字first_name,则会显示first_name.last_name,则会显示last_name.user123NULL 该方法效果很好,但很难看.必须有一种方法来替代嵌套的if/else语句来美化它.
public function nameify($names = NULL) {
$name = '';
if (!empty($names)) {
if (!empty($names['display_name'])) {
$name = $names['display_name'];
} elseif (!empty($names['first_name'])) {
$name = $names['first_name'];
if (!empty($names['last_name'])) {
$name .= ' ' . $names['last_name'];
}
} elseif (!empty($names['last_name'])) {
$name = $names['last_name'];
}
if (empty($name) && !empty($names['id'])) {
$name = 'user' . …Run Code Online (Sandbox Code Playgroud) 我正在解析JSON响应并通过$.ajax()此对象的值构建表单.我写的剧本很长,但这就是它正在做的事情:
动态创建:
〜表单元素,
〜
字段集元素,
〜按钮元素,~20左右的文本输入和标签元素
将输入和标签附加到字段集
将按钮附加到fieldset
将fieldset附加到表单
一切都在所有浏览器中工作,除了IE中的一个小片段.我把它缩小到下面的代码.(doc是一个包含的变量document)
fieldset.append(
$(doc.createElement('button'))
.addClass('ui-button')
.attr('type', 'submit')
.html('Re-Rate')
.button()
);
Run Code Online (Sandbox Code Playgroud)
这是上面的第3步.它创建一个按钮元素,添加一个类,将type属性设置为submit提供一些文本,然后将其附加到fieldset.IE失败并显示错误"对象不支持此操作"
如果我注释掉这样的.attr()行:
fieldset.append(
$(doc.createElement('button'))
.addClass('ui-button')
//.attr('type', 'submit')
.html('Re-Rate')
.button()
);
Run Code Online (Sandbox Code Playgroud)
一切都按预期工作.
如果您想知道,该.button()方法是jQuery UI
php ×5
javascript ×3
jquery ×2
attributes ×1
cakephp ×1
date ×1
dom ×1
fatal-error ×1
helper ×1
html-helper ×1
implode ×1
jquery-ui ×1
json ×1
object ×1
port-number ×1
quantifiers ×1
regex ×1
simpletest ×1
singleton ×1
static ×1
string ×1
superglobals ×1
unit-testing ×1
user-input ×1