我试图检查我的变量是否只有一个长度。
我是这样做的:
var n = new Date();
$scope.h = n.getHours();
$scope.m = n.getMinutes();
console.log($scope.h.length) // returns undefined
if($scope.h.length < 2 && $scope.m.length < 2 ) {
$scope.hm = $scope.h * 10 + "" + $scope.m * 10;
console.log($scope.hm);
}
但$ scope.h.length返回undefined。为什么? 我该怎样做得更好?
答案 0 :(得分:3)
您使用Date.prototype.getHours()
返回integer number
,因此您无法直接使用.length
。
解决方案是在取长度
之前使用toString()
函数
OR
您可以使用= "" + h
var n = new Date();
var h = n.getHours();
var m = n.getMinutes();
var hString = "" + h;
var mString = m.toString();
console.log(hString.length);
console.log(mString.length);
&#13;
答案 1 :(得分:3)
您不需要检查案件的长度。
if($scope.h < 10 && $scope.m < 10 ) {
答案 2 :(得分:0)
getHours()返回一个数字。数字没有长度属性。首先尝试使用$ scope.h.toString()将数字转换为字符串。