AAA.愤怒的鸡蛋 2024-09-21 18:12 采纳率: 0%
浏览 7
已结题

为什么获取不到变量的值

我给了一个变量num,通过点击事件改变num的值,然后用if函数,想以num的值作为条件去执行,但是为什么找不到num,log出来的也是undefined

img


代码大概就是这样

  • 写回答

1条回答 默认 最新

  • 一轮明月照丘壑 2024-09-21 18:13
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    根据您提供的代码片段,您可能无法获取变量 num1 的值的原因可能有以下几点:

    1. 变量作用域问题:如果 num1 是在某个函数或者其他非全局的作用域内定义的,那么在全局作用域内是无法访问到的。确保 num1 是在全局作用域内定义的。
    2. 拼写和格式错误:代码中似乎有一些拼写错误和格式问题,例如“日”应该是“的”,还有 JavaScript 代码不应该包含中文标点符号。请确保代码的格式正确。
    3. 元素 ID 问题:确保您的 HTML 元素有正确的 ID,以便可以通过 document.getElementById() 正确获取到它们。同时,确保您的 JavaScript 代码在 DOM 加载完成后执行,否则 getElementById() 可能无法找到相应的元素。
    4. 控制台输出时机问题console.log(num1) 的执行时机可能不对。如果这段代码在 num1 被赋值之前就执行了,那么它会输出 undefined。确保 console.log(num1)num1 被赋值之后执行。

    修正后的代码应该类似于以下结构:

    let num1; // 确保在全局作用域内定义 num1
    
    window.onload = function() { // 确保在 DOM 加载完成后执行
      let one = document.getElementById('one');
      let two = document.getElementById('two');
      let number1 = document.getElementById('number1'); // 假设有一个元素用于显示 num1 的值
    
      one.onclick = function() {
        num1 = Number(1);
        number1.innerText = num1;
      };
    
      two.onclick = function() {
        num1 = Number(2);
        number1.innerText = num1;
      };
      
      // 确保在 num1 可能被改变之后输出其值
      console.log(num1); // 注意:这会在控制台输出,而不是在网页上显示
    };
    

    请检查您的代码是否包含这些要点,并进行相应的调整。如果问题仍然存在,请提供更多的上下文或完整的代码,以便更准确地诊断问题。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月4日
  • 创建了问题 9月21日