与使用location.assign(url)相比,使用location.href = url在JavaScript内存消耗方面有什么特别的优势/劣势?
我猜我在想,与设置属性相比,访问方法是否需要更多内存。
发布于 2012-04-25 01:28:04
我一直在使用,并且从来没有遇到过问题:
location.href = url;调用函数应该比访问属性稍微慢一些,但就内存而言,在我看来应该没有太大的区别。
发布于 2013-02-03 22:09:09
我个人更喜欢调用函数,因为调用函数会给我一个更好的印象,那就是某个东西正在运行,而这不仅仅是一个正在变化的变量的值。
但可能是这样的,location.href = url;比location.assign(url)更快可能是真的,尽管这可能取决于JavaScript引擎的实现,请参阅the test I've just created。
发布于 2018-05-30 19:58:26
我知道这很旧,但当我在寻找一种方法来检查我的单元测试是否重定向到正确的url时,我偶然发现了这一点。
如果你更关心测试,我会选择window.location.assign()。使用函数允许您模拟所述函数并检查url输入参数。
因此,使用jest:
window.location.assign = jest.fn();
myUrlUpdateFunction();
expect(window.location.assign).toBeCalledWith('http://my.url');
// Clean up :)
window.location.assign.mockRestore();https://stackoverflow.com/questions/10302905
复制相似问题