私はかなり単純なif文を持っていますが、JavaScriptをあまり使わないので、どこかでエラーが発生していると思います。私のページに行くと、値が未定義であると警告されているのがわかりますが、ifパラメータが== undefined
であっても、コードブロックはスキップされます。これはAngularJSアプリだと重要ですか?日付をNaNと比較し、未定義
Webページ:http://alainwebdesign.ca/pl2/#/petType
のjavascript:
$scope.setDate = function (dateSelected) {
alert(dateSelected);
var now = new Date();
$scope.latest = new Date(now.getFullYear(), now.getMonth(), now.getDate(), now.getHours(), now.getMinutes());
$scope.hoursAgo = Math.round((($scope.latest - dateSelected)/3600000) * 100)/100;
if ($scope.hoursAgo === undefined || $scope.hoursAgo == NaN) {
alert("Please choose a date/time");
}
else {
alert('You lost your pet ' + $scope.hoursAgo + ' hour(s) ago');
$scope.checkDateSet = true;
}
}
[未定義のオブジェクトのプロパティを検出]の可能重複します(http:を//aackoverflow.com/questions/27509/detecting-an-undefined-object-property) – Liam
@ Liamしかし、その質問にNaNはどこにもありません。それが私の主な問題でした。 –