Javascript 在函数外部调用变量结果?没有定义的?

标签 javascript function variables

我有以下代码。

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/

相关文章:

c - 如何将变量值传递给 C 中的数组

variables - OpenCV-跟踪栏的变量值范围

function - Golang 闭包不存储捕获的变量?

C - 函数返回指向函数的指针

javascript - 使用 AngularJS 在表中选择复选框

javascript - 在 Highcharts 中,如何在 solidgauge 中创建发光/阴影效果?

javascript - jQuery 和 Js 函数语法混合

variables - 接受用户对变量的输入

javascript - 在 node.js 中输出完整的错误对象

javascript - 在第一次渲染期间处理组件中的未定义/空属性