Javascript'te global değişkene değer atama sorunu
NowDate ve LaterDate değişkenleri global olarak başlıyor.
dates ID li input da yeni bir zaman seçildiginde OnSelect bölümündeki NowDate e yeni bir tarih kaydedip.
bir function la bunu dışarıdan çağırıyorum. log da yeni zamanın seçildigi gözüksede dışarıdaki functionda ilk tarihi alıyor.
onSelect'den neden global değişkene atama yapamıyorum. kendi içinde kalıyor.
const date = new Date("2021-");
const NowDate = ("0" + date.getDate()).slice(-2)+"/"+(date.getMonth()+1)+"/"+date.getFullYear();
const LaterDate = ("0" + (date.getDate()+1)).slice(-2)+"/"+(date.getMonth()+1)+"/"+date.getFullYear();
$("#dates").Zebra_DatePicker({
start_date: new Date(),
months: [ "Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık" ],
days: [ "Pa", "Pt", "Sl", "Ça", "Pe", "Cu", "Ct" ],
show_select_today: "Bugün",
lang_clear_date: "Tarihi Sil",
format: "d/m/Y",
start_date :true,
start_date: new Date(),
onSelect: function() {
$(this).change();
const date = new Date("2021-");
const NowDate = ("0" + date.getDate()).slice(-2)+"/"+(date.getMonth()+1)+"/"+date.getFullYear();
const LaterDate = ("0" + (date.getDate()+1)).slice(-2)+"/"+(date.getMonth()+1)+"/"+date.getFullYear();
console.log(NowDate);
}
});
// yeni tarih seçtikten sonra bunu çalıştırıyorum. fakat ilk tarihi alıyor.
function xxx() {
console.log(NowDate);
}
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (2)
const
a atanan değer değiştirilemez onun yerine let
kullan.
daha iyi anlamak açısından https://youtu.be/kjLv-sIyVa8
let NowDate = ("0" + date.getDate()).slice(-2)+"/"+(date.getMonth()+1)+"/"+date.getFullYear();
let LaterDate = ("0" + (date.getDate()+1)).slice(-2)+"/"+(date.getMonth()+1)+"/"+date.getFullYear();
$("#dates").Zebra_DatePicker({
NowDate = ("0" + date.getDate()).slice(-2)+"/"+(date.getMonth()+1)+"/"+date.getFullYear();
LaterDate = ("0" + (date.getDate()+1)).slice(-2)+"/"+(date.getMonth()+1)+"/"+date.getFullYear();
})
function xxx(){
console.log(NowDate, LaterDate);
}