如何将JavaScript对象转换成自己需要的对象类型
在对象到数字的转换过程中,它会首先尝试valueOf()方法:
如果对象具有valueOf()方法,后者返回一个原始值,则JavaScript将这个原始值转换为数字(如果需要的话)并返回这个数字。
否则,如果对象具有toString()方法,后者返回一个原始值,则javaScript将其转换并返回
否则,JavaScript抛出一个类型错误异常。
对西那个转换为数字的细节解释了为什么空数组会转换为数字0以及为什么具有单个元素的数组同样会转换成一个数字。数组继承了默认的valueOf()方法,这个方法返回一个
对象
而不是一个原始值,因此数组到数字的转换则调用toString()方法。空数组转换成空字符,空字符串转换成数字0。从上面《JavaScript权威指南》中的解释可以看出,因为obj3重写了对象toString的方法,其中返回了一个数组(对象),而不是原始值,所以这时候无论与2或者字符串比较都会报错。
js中如何将一字符串表示的系统时间转换为Date时间对象
js中将一串字符串转换为date类型,主要是先过滤字符,然后分割开,如下代码实例:
function parseToDate(strTime){ var arr=strTime.split(" "); if(arr.length>=2) { var arr1=arr[0].split("-"); var arr2=arr[1].split(":"); } else return null; if(arr1.length>=3 && arr2.length>=3) { var b=new Date(arr1[0],arr1[1],arr1[2],arr2[0],arr2[1],arr2[2]);//将字符串转换为date类型 return b; } else return null;}
js时间转换
formatDateTime: function (date) { var y = date.getFullYear(); var m = date.getMonth() + 1; m = m < 10 ? ('0' + m) : m; var d = date.getDate(); d = d < 10 ? ('0' + d) : d; var h = date.getHours(); var minute = date.getMinutes(); minute = minute < 10 ? ('0' + minute) : minute; this.checkinDate = y + '-' + m + '-' + d+' '+h+':'+minute; },
还没有评论,来说两句吧...