【问题标题】:Identify the arguments, parameters, local variables and global variables used in the following code?识别以下代码中使用的实参、参数、局部变量和全局变量?
【发布时间】:2015-05-11 12:57:55
【问题描述】:

代码是:

var x = 32;
var y = 44;
var radius = 5;
var centerX = 0;
var centerY = 0;
var width = 600;
var height = 400;

function setup(width, height) {
  centerX = width/2;
  centerY = height/2;
}

function computeDistance(x1, y1, x2, y2) {
  var dx = x1 - x2;
  var dy = y1 - y2;
  var d2 = (dx * dx) + (dy * dy);
  var d = Math.sqrt(d2);
  return d;
}

function circleArea(r) {
  var area = Math.PI * r * r;
  return area;
}

setup(width, height);

var area = circleArea(radius);
var distance = computeDistance(x, y, centerX, centerY);

alert("Area: " + area);
alert("Distance: " + distance);

另外,哪些局部变量会影响全局变量?

我的回答

参数:宽度、高度、半径、x、y、centerX、centerY、“面积:”+面积、“距离:”+距离、d2。

参数:宽度、高度、x1、y1、x2、y2、r

局部变量:dx, dy, d2, d, area*

全局变量:x、y、半径、centerX、centerY、宽度、高度、面积、距离

*area 阴影全局变量区域。

但是书上的答案:d2 没有作为论据给出,可能是忘记了还是什么的……我想知道我的答案是否正确。

【问题讨论】:

  • 好吧,我想说var d2 = (dx * dx) + (dy * dy);d2 被声明为变量,而var d = Math.sqrt(d2); 行中它作为参数传递。
  • 看看这本书在网络上的某个地方是否有勘误表。否则你的答案是对的。除了局部变量“area”不会影响全局变量“area”。在函数 circleArea() 内部,它有自己的范围,但该范围在该函数之外不可用。如果您使用 window.area,全局变量“area”仍然可以在函数内部访问 - 只是一个想法。
  • 谢谢安迪,你认为我的回答是正确的吗?
  • Harish 谢谢朋友,但是这本书也表明局部变量区域会影响全局变量区域,所以你 100% 确定吗???

标签: javascript parameters arguments global-variables local-variables


【解决方案1】:

您的答案看起来是正确的。这本书可能只是从页面上定义的函数中寻找参数、参数和变量。看来你比他们聪明。您也许可以将其作为更正提交给他们,因为您的答案在技术上是正确的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    相关资源
    最近更新 更多