te')); return $arr; } /* 遍历用户所有主题 * @param $uid 用户ID * @param int $page 页数 * @param int $pagesize 每页记录条数 * @param bool $desc 排序方式 TRUE降序 FALSE升序 * @param string $key 返回的数组用那一列的值作为 key * @param array $col 查询哪些列 */ function thread_tid_find_by_uid($uid, $page = 1, $pagesize = 1000, $desc = TRUE, $key = 'tid', $col = array()) { if (empty($uid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('uid' => $uid), array('tid' => $orderby), $page, $pagesize, $key, $col); return $arr; } // 遍历栏目下tid 支持数组 $fid = array(1,2,3) function thread_tid_find_by_fid($fid, $page = 1, $pagesize = 1000, $desc = TRUE) { if (empty($fid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('fid' => $fid), array('tid' => $orderby), $page, $pagesize, 'tid', array('tid', 'verify_date')); return $arr; } function thread_tid_delete($tid) { if (empty($tid)) return FALSE; $r = thread_tid__delete(array('tid' => $tid)); return $r; } function thread_tid_count() { $n = thread_tid__count(); return $n; } // 统计用户主题数 大数量下严谨使用非主键统计 function thread_uid_count($uid) { $n = thread_tid__count(array('uid' => $uid)); return $n; } // 统计栏目主题数 大数量下严谨使用非主键统计 function thread_fid_count($fid) { $n = thread_tid__count(array('fid' => $fid)); return $n; } ?>javascript - What does compound letconst assignment mean? - Stack Overflow
最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - What does compound letconst assignment mean? - Stack Overflow

programmeradmin5浏览0评论

There is an article Optimization killers in wiki of Bluebird library. In this article there is a phrase:

Currently not optimizable:
...
Functions that contain a pound let assignment
Functions that contain a pound const assignment

What does pound let assignment and pound const assignment mean? In ECMAScript 5.1 there was notion of pound assignment but in ECMAScript 2015, it seems there is no notion of any pound assignment there is only regular assignments.

I suspect that pound let and const assignment, it is just pound assignment after declaration. For example:

let n = 1;
n += 4;

Am I right?

There is an article Optimization killers in wiki of Bluebird library. In this article there is a phrase:

Currently not optimizable:
...
Functions that contain a pound let assignment
Functions that contain a pound const assignment

What does pound let assignment and pound const assignment mean? In ECMAScript 5.1 there was notion of pound assignment but in ECMAScript 2015, it seems there is no notion of any pound assignment there is only regular assignments.

I suspect that pound let and const assignment, it is just pound assignment after declaration. For example:

let n = 1;
n += 4;

Am I right?

Share Improve this question asked Jan 4, 2016 at 16:19 Alexander MyshovAlexander Myshov 3,1013 gold badges23 silver badges32 bronze badges 1
  • From the definition of pound: "a thing that is posed of two or more separate elements; a mixture." From that, I would think that let n = 1 + someval is a pound assignment and let n = 1 is not? Couldn't say with absolute confidence though... – An0nC0d3r Commented Jan 4, 2016 at 16:35
Add a ment  | 

1 Answer 1

Reset to default 15

Yes, that seems to be exactly what it means. I had the following code (irrelevant additional lines removed):

function updatePlayer(player) {
    let direction = player.getDirection();
    if (player.isPressingLeft()) {
        direction += angleChange;
    }
    if (player.isPressingRight()) {
        direction -= angleChange;
    }
    player.setDirection(direction);
}

updatePlayer generated a warning, Not optimized: Unsupported let pound assignment, in Chrome's Profiles tab, so instead of l += r I tried l = l + r and got a significant, consistent performance improvement.

jsPerf shows that let pound assignments are indeed extremely slow in Chrome 49.0.2623, pared to l = l + r or var! I guess this will be fixed in a future version, since neither Firefox nor IE11 nor Edge is affected, and since Google apparently know about the issue.

发布评论

评论列表(0)

  1. 暂无评论