python和javascript中全局变量和局部变量的概念是否不同?

python和javascript中全局变量和局部变量的概念是否不同?,javascript,python,Javascript,Python,我对Python有点了解,我正在尝试学习JS,对JS中的全局变量和局部变量的概念有点困惑。就像JS中的代码一样--> 功能队列(arr,项目){ 到货推送(项目) 轮班安排 } a=[1,2,3,4,5] 排队(a、6) console.log(a)//O/P:[2,3,4,5,6] 输出-->[2,3,4,5,6] 但是这种输出在Python中是不可能的。 JS中的另一个代码---> glo=14 函数myWorld(){ lo=++glo glo=5 返回l } console.log(m

我对Python有点了解,我正在尝试学习JS,对JS中的全局变量和局部变量的概念有点困惑。就像JS中的代码一样-->

功能队列(arr,项目){
到货推送(项目)
轮班安排
}
a=[1,2,3,4,5]
排队(a、6)
console.log(a)//O/P:[2,3,4,5,6]
输出-->[2,3,4,5,6]

但是这种输出在Python中是不可能的。 JS中的另一个代码--->

glo=14
函数myWorld(){
lo=++glo
glo=5
返回l
}
console.log(myWorld())//O/P:15
console.log(glo)//O/P:5
这在python中也是不可能的。在python中,如果
glo
是一个列表,并且我们在函数内部更新
glo[i]=5,这是可能的。我弄糊涂了。请帮助我,如果你能提供一个学习JS的好资源,我将不胜感激


我是2020年毕业生。我也在为面试做准备,在面试的过程中我感到很失落,任何帮助都将不胜感激。非常感谢。数组通过引用传递给函数。因此,当您
shift
时,您不是在它的副本上移动,而是在修改它的数组本身上移动

例如,如果您定义以下内容,Python的行为相同:

def queue(arr, item):
    arr.append(item)
    arr.pop(0)
通常,您可以在js中搜索一些与
scope
概念相关的教程


例如,请参见

为什么您认为这些东西在Python中是不可能的?你可能需要写一些东西,因为不同的方法名和不同的变量声明规则(顺便说一句,你把变量声明搞砸了),但是写一个相当直接的翻译是可能的。我认为如果我在函数中使用Python中的
global
关键字,这是可能的。正确的?但是我没有得到第一个代码,我没有更新变量,但它仍然在更新。请告诉我你在说什么变量声明。感谢您的回复。“您在谈论哪个变量声明”所有JS变量(除了第一个变量中的函数参数外)都是隐式全局变量,因为您没有使用
var
let
,或者
const
您可以发布一些您尝试过但不起作用的Python代码吗?Python
列表上的方法是
append
,而不是
push
。谢谢您说得对!知道了。谢谢@Nja