我正试图在页面上获得两个div与同一个类的组合高度。当我第一种方式执行时,我得到了NaN作为结果,但是检查控制台时,只添加了两个结果,两者都是类型编号。
(这导致NaN)
$scope.getPageHeader = function () {
var headerSize;
var myArr = [];
var pageHeaders = jQuery(".page-header");
jQuery(pageHeaders).each(function () {
headerSize += jQuery(this).height();
// myArr.push(jQuery(this).height());
// headerSize = myArr[0] + myArr[1];
})
return headerSize;
}
如果我尝试以漫长的方式做到这一点,将两个项目推到一个阵列上并添加它们,它就可以了。这是为什么?
(这导致返回正确的数字)
$scope.getPageHeader = function () {
var headerSize;
var myArr = [];
var pageHeaders = jQuery(".page-header");
jQuery(pageHeaders).each(function () {
//headerSize += jQuery(this).height();
myArr.push(jQuery(this).height());
headerSize = myArr[0] + myArr[1];
})
return headerSize;
}
答案 0 :(得分:9)
将headerSize
初始化为0,因为isNaN(undefined + 0)
答案 1 :(得分:1)
在第一个示例中,headerSize值未定义以启动,因此当您添加它时,您将获得NaN。
声明时将其初始化为零,你应该好好去。
答案 2 :(得分:0)
代码应该是
$scope.getPageHeader = function () {
var headerSize = 0;
var myArr = [];
var pageHeaders = jQuery(".page-header");
jQuery(pageHeaders).each(function () {
headerSize += jQuery(this).height();
})
return headerSize;
}