我有以下代码。
var myDatepicker = $('#datumpak').datepicker({
onSelect: function (formattedDate, date, inst) {
if (date.length == 2) {
Jaar = ("0" + date[0].getFullYear()).slice(-4);
Maand = ("0" + (date[0].getMonth()+1)).slice(-2);
Dag = ("0" + date[0].getDate()).slice(-2);
Uren = ("0" + date[0].getHours()).slice(-2);
Minuut = ("0" + date[0].getMinutes()).slice(-2);
Seconden = ("0" + date[0].getSeconds()).slice(-2);
var totaaldatea = (Jaar) + (Maand) + (Dag) + (Uren) + (Minuut) + (Seconden);
Jaar1 = ("0" + date[1].getFullYear()).slice(-4);
Maand1 = ("0" + (date[1].getMonth()+1)).slice(-2);
Dag1 = ("0" + date[1].getDate()).slice(-2);
Uren1 = ("0" + date[1].getHours()).slice(-2);
Minuut1 = ("0" + date[1].getMinutes()).slice(-2);
Seconden1 = ("0" + date[1].getSeconds()).slice(-2);
var totaaldateb = (Jaar1) + (Maand1) + (Dag1) + (Uren1) + (Minuut1) + (Seconden1);
}
}}).data('datepicker');
// Console.log(totaaldatea) NOT WORKING!?
为什么我不能在函数外部调用变量,我需要如何解决这个问题?请帮忙。
最佳答案
您的变量超出范围。您应该定义变量,然后更改它:
var totaaldatea; // Declare the variables outside the function.
var totaaldateb;
var myDatepicker = $('#datumpak').datepicker({
onSelect: function (formattedDate, date, inst) {
if (date.length == 2) {
var Jaar = ("0" + date[0].getFullYear()).slice(-4);
var Maand = ("0" + (date[0].getMonth()+1)).slice(-2);
var Dag = ("0" + date[0].getDate()).slice(-2);
var Uren = ("0" + date[0].getHours()).slice(-2);
var Minuut = ("0" + date[0].getMinutes()).slice(-2);
var Seconden = ("0" + date[0].getSeconds()).slice(-2);
totaaldatea = (Jaar) + (Maand) + (Dag) + (Uren) + (Minuut) + (Seconden); // change it inside
var Jaar1 = ("0" + date[1].getFullYear()).slice(-4);
var Maand1 = ("0" + (date[1].getMonth()+1)).slice(-2);
var Dag1 = ("0" + date[1].getDate()).slice(-2);
var Uren1 = ("0" + date[1].getHours()).slice(-2);
var Minuut1 = ("0" + date[1].getMinutes()).slice(-2);
var Seconden1 = ("0" + date[1].getSeconds()).slice(-2);
totaaldateb = (Jaar1) + (Maand1) + (Dag1) + (Uren1) + (Minuut1) + (Seconden1); // change it inside
}
}}).data('datepicker');
// Console.log(totaaldatea)
如果您没有在函数外部使用变量,只需记录内部的值,例如:
var myDatepicker = $('#datumpak').datepicker({
onSelect: function (formattedDate, date, inst) {
if (date.length == 2) {
var Jaar = ("0" + date[0].getFullYear()).slice(-4);
var Maand = ("0" + (date[0].getMonth()+1)).slice(-2);
var Dag = ("0" + date[0].getDate()).slice(-2);
var Uren = ("0" + date[0].getHours()).slice(-2);
var Minuut = ("0" + date[0].getMinutes()).slice(-2);
var Seconden = ("0" + date[0].getSeconds()).slice(-2);
var totaaldatea = (Jaar) + (Maand) + (Dag) + (Uren) + (Minuut) + (Seconden);
console.log(totaaldatea)
var Jaar1 = ("0" + date[1].getFullYear()).slice(-4);
var Maand1 = ("0" + (date[1].getMonth()+1)).slice(-2);
var Dag1 = ("0" + date[1].getDate()).slice(-2);
var Uren1 = ("0" + date[1].getHours()).slice(-2);
var Minuut1 = ("0" + date[1].getMinutes()).slice(-2);
var Seconden1 = ("0" + date[1].getSeconds()).slice(-2);
var totaaldateb = (Jaar1) + (Maand1) + (Dag1) + (Uren1) + (Minuut1) + (Seconden1);
console.log(totaaldateb)
}
}
}).data('datepicker');
关于Javascript 在函数外部调用变量结果?没有定义的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59663771/