关于内存消耗,哪个功能更有效?

时间:2018-09-09 23:09:34

标签: javascript

我是JS领域的新手,我想知道这两种方法中哪一种效率更高,并且消耗的内存更少?变量queryParams和返回值都会在第一种方法中消耗内存吗?

在JS中检查内存消耗的一些好的工具/方式是什么?

方法1

getQueryParamsForPreviousUrl(): string {
    let queryParams: string = '';

    if (this._currentUrl) {
      const index = this._currentUrl.indexOf('?');

      if (index !== -1) {
        queryParams = this._currentUrl.slice(index);
      }
    }

    return queryParams;
  }

方法2

getQueryParamsForPreviousUrl(): string {

    if (this._currentUrl) {
      const index = this._currentUrl.indexOf('?');

      if (index !== -1) {
        return= this._currentUrl.slice(index);
      }
    }

    return '';
  }

1 个答案:

答案 0 :(得分:3)

Q:第一种方法中的变量queryParams和返回的值是否都会占用内存?

A: queryParams肯定会消耗一些内存。这里将发生的是,当您的代码运行方法getQueryParamsForPreviousUrl(...)时,该变量将被声明并存储在进程的stack内存中。

代码退出后,queryParams将被标记为“有资格进行垃圾收集”,然后将来某个时候,消耗的内存将由垃圾收集器释放。