ham*_*dog 6 javascript python default-arguments
我将从 Python 转向 Javascript。在 Python 中,如果使用列表或字典作为函数的默认参数,则每次调用都会看到相同的对象。所以如果你有一个像这样的函数:
def append_to_list(lst=[]):
lst.append(1)
return lst
Run Code Online (Sandbox Code Playgroud)
然后这样称呼它:
lst1 = append_to_list()
lst2 = append_to_list()
Run Code Online (Sandbox Code Playgroud)
lst2将会有价值[1, 1]而不仅仅是[1]
Javascript 对于默认参数也有同样的问题吗?
似乎没有同样的问题。使用功能进行测试:
function append_to_list(lst=[]) {
lst.push(1)
return lst
}
Run Code Online (Sandbox Code Playgroud)
并且以相同的方式调用[1]两次都会返回。