我正在使用JSLint来完成JavaScript,并且在执行诸如比较语句内部之类的事情时,它会返回许多建议来替换==(两个等号)===(三个等号).idSele_UNVEHtype.value.length == 0if
有没有性能优势,以代替==用===?
任何性能改进都会受到欢迎,因为存在许多比较运算符
如果没有进行类型转换,是否会有性能提升==?
javascript equality operators equality-operator identity-operator
我想告诉JS中有效和无效日期对象之间的区别,但无法弄清楚如何:
var d = new Date("foo");
console.log(d.toString()); // shows 'Invalid Date'
console.log(typeof d); // shows 'object'
console.log(d instanceof Date); // shows 'true'
Run Code Online (Sandbox Code Playgroud)
编写isValidDate函数的任何想法?
Date.parse用于解析日期字符串,它提供了一种检查日期字符串是否有效的权威方法.Date实例,这最容易验证.Date实例,然后测试它Date的时间值.如果日期无效,则时间值为NaN.我用ECMA-262检查了这个行为是标准的,这正是我正在寻找的.我正在尝试测试,以确保日期是有效的,如果有人进入,2/30/2011那么它应该是错误的.
我怎么能在任何日期这样做?
我有一个格式为dd/MM/yyyy的日期字符串,我想从这个字符串创建一个Date对象.new Date(dd/MM/yyyy)不会工作..
我有这个代码,显然不起作用:
function createDateObject(value){
try{
return new Date(value.split('/').**swap(0, 1)**.join('/'));
}
catch(){
return null;
}
}
createDateObject('31/01/2014') => Fri Jan 31 2014 00:00:00 GMT-0200 (Local Daylight Time)
Run Code Online (Sandbox Code Playgroud)
这是最简单的方法吗?
如果我能在一行中完成它,我不想创建很多临时变量...
我有以下代码检查日期是否有效.http://jsfiddle.net/uzSU6/36/
如果日期部分,月份部分或年份部分中有空格,则该日期应视为无效.为此,目前我正在检查trim操作前后字符串的长度.它工作正常.但是有没有更好的方法来检查空格?(例如,使用===运算符)
function isValidDate(s)
{
var bits = s.split('/');
//Javascript month starts at zero
var d = new Date(bits[2], bits[0] - 1, bits[1]);
if ( isNaN( Number(bits[2]) ) )
{
//Year is not valid number
return false;
}
if ( Number(bits[2]) < 1 )
{
//Year should be greater than zero
return false;
}
//If there is unwanted blank space, return false
if ( ( bits[2].length != $.trim(bits[2]).length ) ||
( bits[1].length != $.trim(bits[1]).length ) …Run Code Online (Sandbox Code Playgroud)