首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >location.href属性与location.assign()方法

location.href属性与location.assign()方法
EN

Stack Overflow用户
提问于 2012-04-25 01:25:40
回答 7查看 56.8K关注 0票数 91

与使用location.assign(url)相比,使用location.href = url在JavaScript内存消耗方面有什么特别的优势/劣势?

我猜我在想,与设置属性相比,访问方法是否需要更多内存。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-04-25 01:28:04

我一直在使用,并且从来没有遇到过问题:

代码语言:javascript
复制
location.href = url;

调用函数应该比访问属性稍微慢一些,但就内存而言,在我看来应该没有太大的区别。

票数 31
EN

Stack Overflow用户

发布于 2013-02-03 22:09:09

我个人更喜欢调用函数,因为调用函数会给我一个更好的印象,那就是某个东西正在运行,而这不仅仅是一个正在变化的变量的值。

但可能是这样的,location.href = url;location.assign(url)更快可能是真的,尽管这可能取决于JavaScript引擎的实现,请参阅the test I've just created

票数 48
EN

Stack Overflow用户

发布于 2018-05-30 19:58:26

我知道这很旧,但当我在寻找一种方法来检查我的单元测试是否重定向到正确的url时,我偶然发现了这一点。

如果你更关心测试,我会选择window.location.assign()。使用函数允许您模拟所述函数并检查url输入参数。

因此,使用jest:

代码语言:javascript
复制
window.location.assign = jest.fn();

myUrlUpdateFunction();

expect(window.location.assign).toBeCalledWith('http://my.url');

// Clean up :)
window.location.assign.mockRestore();
票数 41
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10302905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档