我正在使用这种格式的一串数据:"mm-dd-yy".我以这种方式将其转换为Date对象:
var dateData, dateObject, dateReadable, dateSplit, year, month, day;
dateData = "07-21-14"; //For example
dateSplit = dateData.split('-');
month = dateSplit[0] - 1;
day = dateSplit[1];
year = 20 + dateSplit[2];
dateObject = new Date(year, month, day);
dateReadable = dateObject.toUTCString(); //Returns Mon, 21 Jul 2014 04:00:00 GMT
Run Code Online (Sandbox Code Playgroud)
我想在没有时间的情况下(格林尼治标准时间04:00:00)返回日期(星期一,2014年7月21日).是否有不同的方法可以这样做?还是一种.toUTCString()无需时间回电日期的方式?
在MDN页面上,window.setTimeout我找到了一个将命名函数传递给window.setTimeout的示例:
var timeoutID;
function delayedAlert() {
timeoutID = window.setTimeout(slowAlert, 2000);
}
function slowAlert() {
alert("That was really slow!");
}
function clearAlert() {
window.clearTimeout(timeoutID);
}
Run Code Online (Sandbox Code Playgroud)
在我维护的代码中,我遇到了这个示例的等价物,其中声明了一个匿名函数,因为它被传递给window.setTimeout:
var timeoutID;
function delayedAlert() {
timeoutID = window.setTimeout(function(){
alert("That was really slow!");
}, 2000);
}
function clearAlert() {
window.clearTimeout(timeoutID);
}
Run Code Online (Sandbox Code Playgroud)
这两种延迟警报的方式之间是否有重要区别?我比我正在使用的代码更信任MDN,所以我想理解为什么MDN使用单独的函数声明来表达他们的示例.
编辑:谢谢@TravisJ @jfriend00 @PlatinumAzure的明确和有用的答案.
我重新设置了分支的基础,该分支的效果是在我自己的基础上添加了一些提交。然后意识到我忘记了压缩一些提交,所以很难重新设置并压缩。现在,我需要把那些提交带回来。但是重新调配告诉我当前分支是最新的,即使不是。有没有办法解决这个问题?
编辑:
有两个分支:a和b。两者都是从master分支出来的。两者都是最新的大师。分支a有一些更改。我也希望分支b也有这些更改。我将分支a重新定位到b。最新的提交来自分支a。我的意图是在提交之前压扁这三个提交。我在最近一次提交之前硬重置为。然后我挤了。现在,我想以一种在将分支b合并到master时不会引起头痛的方式找回最新提交。
我已经尝试过reflog,git reset --hard HEAD@{n}但存在相同的问题:当前分支是最新的。
函数式编程是否具有此逻辑的标准结构?
const passAround = (f) => (x) => {
f(x);
return x;
};
Run Code Online (Sandbox Code Playgroud)
这使我能够组合具有副作用且没有返回值的函数,例如console.log.它不像任务,因为我不想表示副作用的状态.
我将 XML 解析为 JSON。我想通过遍历 JSON 并调用React.createElement每个节点来构建 React 组件树。第三个参数React.createElement是 React 子元素的数组。这意味着我必须沿着树走到叶节点,首先创建这些 React 元素,然后返回每个分支。
树结构上的简单递归迭代非常简单。我不确定如何说“好吧,现在您位于叶节点,请返回”。有这方面的技术吗?
样本数据:
{
"section":{
"attrs":{
"class":"foo",
"data-foo":"foo"
},
"#name":"section",
"children":[
{
"attrs":{
"class":"region-1"
},
"#name":"p",
"children":[
{
"attrs":{
"data-children":"true"
},
"#name":"span"
}
],
"span":[
{
"attrs":{
"data-children":"true"
}
}
]
},
{
"attrs":{
"class":"second"
},
"#name":"div"
}
],
"p":[
{
"attrs":{
"class":"region-1"
},
"children":[
{
"attrs":{
"data-children":"true"
},
"#name":"span"
}
],
"span":[
{
"attrs":{
"data-children":"true"
}
}
]
}
],
"div":[
{
"attrs":{
"class":"second" …Run Code Online (Sandbox Code Playgroud) 是否有所有状态符号(例如AD,MM,??)输出的参考git status --porcelain?我正在解析此输出,并需要确保我已涵盖所有排列。通读 git 源代码,看起来输出是动态组装的,而不是模板化的,而且我对找到每个边缘情况的能力没有信心。
这是我所拥有的:
??: 'untracked',
A: 'staged',
AD: 'staged_deleted',
AM: 'staged_modified',
D: 'deleted',
M: 'modified',
MM: 'staged_modified',
R: 'renamed',
UU: 'conflicted'
Run Code Online (Sandbox Code Playgroud) 我有一个带有伪选择元素的表单.伪选择元素是下拉菜单.单击其中一个下拉项时,会为隐藏的输入指定一个分配给该项的值.我正在使用jQuery.validate来验证表单.一个简单的验证规则绑定到隐藏的输入.如果输入没有值,则隐藏输入和伪选择将被赋予错误类,并显示错误消息.
我的问题是更改隐藏输入的值不会触发更改,键入或模糊事件.如果将错误状态应用于隐藏输入,则在输入被赋予有效值之后该状态仍然存在.只有在再次提交表单时才会正确验证输入.
由于jQuery.validate允许对隐藏输入进行验证,我想知道是否存在处理此问题的配置或方法.
编辑:
$form.validate({
ignore: false,
rules: {
'firstname': 'required',
'lastname': 'required',
'org': 'required',
'role': 'required',
'email': {
required: true,
email: true
}
},
messages: {
'firstname': 'Please enter your first name',
'lastname': 'Please enter your last name',
'org': 'Please enter your organization',
'role': 'Please select your role',
'email': 'Please enter your email'
},
errorPlacement: function(error, element) {
var $errMessage = $('.js-err-message');
$errMessage.removeClass('js-hidden');
$(error).each(function(){
$errMessage.append(error);
if (element.is('#role-input')) {
$('.pseudo-select').addClass('mad-error');
}
});
}
});
Run Code Online (Sandbox Code Playgroud)