亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Nest函數更新全局變量Javascript

Nest函數更新全局變量Javascript

牧羊人nacy 2023-10-14 16:47:04
我想知道為什么全局變量x和y沒有從while循環中的函數“move”更新。誰能解釋一下為什么這不起作用以及我應該如何解決它?var x = 10;var y = 7;var destX = 5;var destY = 5;function simulate(x, y) {    while (x !== destX && y !== destY) {        move(x, y);    }    console.log("arrived")}function move(x, y) {        if (y !== destY) {            if (destY > y) {                y = y + 1;            } else {                y = y - 1;            }        } else {            if (destX > x) {                x = x + 1;            } else {                x = x - 1;            }        }}simulate(x, y);
查看完整描述

1 回答

?
慕容708150

TA貢獻1831條經驗 獲得超4個贊

該函數的參數也被命名為x和y,因此它們隱藏了全局變量。在這種特殊情況下,您似乎只想使用全局變量,因此您可以簡單地從兩個函數中刪除參數。


var x = 10;

var y = 7;

var destX = 5;

var destY = 5;

function simulate() {

    while (x !== destX && y !== destY) {

        move();

    }

    console.log("arrived")

}

function move() {

        if (x !== destX) {

            if (destY > y) {

                y = y + 1;

            } else {

                y = y - 1;

            }

        } else {

            if (destX > x) {

                x = x + 1;

            } else {

                x = x - 1;

            }

        }

}

simulate();


查看完整回答
反對 回復 2023-10-14
  • 1 回答
  • 0 關注
  • 158 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號