You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

新手求教:如何计算全局与局部变量的求和、乘积及取模?

JavaScript全局/局部变量计算问题修正与原理

问题点分析

你当前的代码存在两个核心问题:

  1. 函数内的局部变量a、b覆盖了同名全局变量,导致函数完全没有使用全局的40和70进行计算;
  2. 函数内部计算了c、d、e但没有输出结果,也没有暴露这些值,运行后看不到任何计算结果。

修正后的代码

下面是能同时计算全局、局部变量两组结果并输出的代码:

// 全局变量
var a = 40;
var b = 70;

function var_ops_5() {
  // 局部变量(改名避免和全局变量冲突)
  var localA = 4;
  var localB = 7;
  
  // 局部变量计算:求和、乘积、取模
  var localSum = localA + localB;
  var localProduct = localA * localB;
  var localMod = localA % localSum;
  
  // 全局变量计算(直接访问全局作用域的a、b)
  var globalSum = a + b;
  var globalProduct = a * b;
  var globalMod = a % globalSum;
  
  // 打印两组计算结果
  console.log("=== 局部变量计算结果 ===");
  console.log(`求和:${localSum}`);
  console.log(`乘积:${localProduct}`);
  console.log(`取模:${localMod}`);

  console.log("\n=== 全局变量计算结果 ===");
  console.log(`求和:${globalSum}`);
  console.log(`乘积:${globalProduct}`);
  console.log(`取模:${globalMod}`);
}

// 调用函数执行计算
var_ops_5();

核心原理讲解

  1. 变量作用域规则

    • 函数内部用var声明的变量属于局部作用域,只能在函数内部访问;如果函数内没有声明同名变量,JS会自动向上查找全局作用域的变量。
    • 我把局部变量改名为localA、localB,就是为了避免覆盖全局变量,这样函数内可以同时访问全局的a、b和局部的localA、localB。
  2. 计算逻辑说明

    • 求和:两个数值直接相加,比如局部的4+7=11,全局的40+70=110;
    • 乘积:两个数值直接相乘,比如局部的4*7=28,全局的40*70=2800;
    • 取模(%运算符):返回第一个数除以第二个数的余数,比如4%11余数是4(因为11比4大,除不尽,余数就是本身),40%110余数是40。
  3. 结果输出与函数调用

    • 用console.log()把计算结果打印到浏览器控制台或Node.js终端,运行代码后就能看到结果;
    • 必须调用函数var_ops_5(),否则函数只会被定义,不会执行内部的计算逻辑。

另一种写法(保留局部变量同名)

如果一定要保留局部变量的a、b命名,可以通过window.a(浏览器环境)访问全局变量:

// 全局变量
var a = 40;
var b = 70;

function var_ops_5() {
  // 局部变量(同名覆盖全局)
  var a = 4;
  var b = 7;
  
  // 局部计算
  var localSum = a + b;
  var localProduct = a * b;
  var localMod = a % localSum;
  
  // 访问全局变量计算
  var globalSum = window.a + window.b;
  var globalProduct = window.a * window.b;
  var globalMod = window.a % globalSum;
  
  console.log("局部结果:", {求和: localSum, 乘积: localProduct, 取模: localMod});
  console.log("全局结果:", {求和: globalSum, 乘积: globalProduct, 取模: globalMod});
}

var_ops_5();

内容的提问来源于stack exchange,提问作者user20086268

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 22:30:53