Javascript 使用length函数返回未定义的
我试图检查我的变量是否只有一个长度 我是这样做的:Javascript 使用length函数返回未定义的,javascript,angularjs,Javascript,Angularjs,我试图检查我的变量是否只有一个长度 我是这样做的: 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 + "" +
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);
}
var n=新日期();
$scope.h=n.getHours();
$scope.m=n.getMinutes();
console.log($scope.h.length)//返回未定义的
如果($scope.h.长度<2&$scope.m.长度<2){
$scope.hm=$scope.h*10++$scope.m*10;
console.log($scope.hm);
}
但是$scope.h.length返回未定义。为什么?
我该如何做得更好呢?您使用的是返回一个整数
,因此不能直接在其上使用.length
解决方法是在计算长度之前使用toString()
函数
或
您可以使用=“”+h
var n=新日期();
var h=n.getHours();
var m=n.getMinutes();
var hString=“”+h;
var mString=m.toString();
控制台日志(hs字符串长度);
console.log(mString.length)
您正在使用thta返回一个整数
,因此不能直接在其上使用.length
解决方法是在计算长度之前使用toString()
函数
或
您可以使用=“”+h
var n=新日期();
var h=n.getHours();
var m=n.getMinutes();
var hString=“”+h;
var mString=m.toString();
控制台日志(hs字符串长度);
console.log(mString.length)代码>getHours()返回一个数字。数字没有长度属性。首先尝试使用$scope.h.toString()将数字转换为字符串。getHours()返回一个数字。数字没有长度属性。首先尝试使用$scope.h.toString()将数字转换为字符串。您不需要检查案例中的长度
if($scope.h < 10 && $scope.m < 10 ) {
if($scope.h<10&$scope.m<10){
您不需要检查案例中的长度
if($scope.h < 10 && $scope.m < 10 ) {
if($scope.h<10&$scope.m<10){
您正在尝试检查整数的长度,这就是获取未定义的getHours()返回整数的原因getHours()返回整数由于getHours()返回整数,您可以在整数上访问length属性,这是另一种选择吗?如果($scope.h.length<2&$scope.m.length<2),您在这里尝试什么你能解释一下你的条件吗?然后可以说你是否需要你的长度条件吗?正如@bhanu.cs所说的,它返回一个整数。看看plunker,你正试图检查整数的长度,这就是你得到未定义的getHours()返回整数的原因,因为getHours()返回一个整数,您可以在整数上使用access length属性,这是一个可选的方法?如果($scope.h.length<2&$scope.m.length<2)您可以解释您的条件,那么可以说您是否需要您的长度条件?正如@bhanu.cs所说,它返回一个整数。请查看plunker