访问函数外的JavaScript函数变量

Accessing JavaScript function variables outside of the function

本文关键字:函数 变量 JavaScript 访问      更新时间:2023-09-26

我对自己的新手很感兴趣,但我不清楚如何访问函数外函数内的变量。我知道你需要通过一些方法,但我不能100%确定为什么和如何。

以下面的代码为例,我希望在函数之外的整个代码中使用var degree。我该怎么做?

function DegreeToMil() 
{
//Degree's to Mils: 1 Degree = 17.777778 Mils
var degree = 10;
var mils = degree * 17.777778;
return mils;
 }

它实际上相当简单,只需在函数之外定义即可。

编辑:更新了一个示例和注释,解释了所做的操作及其工作方式。

    DegreesToMils.degrees = 10; /* This is a static variable declaration to make sure it isn't undefined
                             * See note 1 below */
function DegreesToMils(degrees) {
    if (degrees !== undefined) {
        DegreesToMils.degrees = degrees; /* If the parameter is defined, 
                                          * it will update the static variable */
    }
    var milsPerDegree = 17.777778; /* This is a variable created and accessible within the function */
    return DegreesToMils.degrees * milsPerDegree; /* The function will return 177.77778 */
}
console.log(DegreesToMils.degrees); /* Prints 10, Note 1: This would be undefined if
                                     * not declared before the first call to DegreesToMils() with a 
                                     * defined parameter
                                     */
console.log(DegreesToMils(10)); /* Prints 177.77778 */
console.log(DegreesToMils(9)); /* Prints 160.00000200000002, Sets DegreesToMils.degrees to 9 */
console.log(DegreesToMils.degrees); /* Prints 9 */
function DegreeToMil() 
{
    //Degree's to Mils: 1 Degree = 17.777778 Mils
    var degree = 10;
    var mils = degree * 17.777778;
    var result = [degree, mils]; // it's an array
    return result;
}
// use it like this
var myResult = DegreeToMil();
console.log(myResult[0]); // degree
console.log(myResult[1]); // mils