我正在尝试使用滚动条创建一个大型HTML表(大约5000行),所以我考虑将该表插入一个<div>我可以随后格式化的表格.
它在Firefox 47和IE 11中运行良好,但在Chrome 59中滚动时表现不佳.
<!DOCTYPE html>
<html>
<head>
<title>Test page</title>
</head>
<body>
<div style="width: 400px; height: 300px; overflow: scroll;" id="test"></div>
<script>
let table = '<table style="table-layout: fixed; width: 3000px">';
table += '<thead>';
table += '<tr>';
for(let i=0; i < 30; i++) {
table += '<th style="width: 100px">#' + i +'</th>';
}
table += '</tr>';
table += '</thead>';
table += '<tbody>';
for(let i=0; i < 5000; i++) {
table += '<tr>';
for(let j=0; j < 30; j++) …Run Code Online (Sandbox Code Playgroud) 我正在用 C++ 构建一个玩具 JSON 解析器,只是为了学习体验。
在构建词法分析器时,我遇到了一个困境:词法分析器应该贪婪吗?如果是这样,这是在哪里定义的?我在JSON或ECMA-404中找不到任何指令。
特别是,在尝试标记以下内容(无效数字)时:
0.x123
我的词法分析器是否应该尝试将其解析为无效数字“0.x123”(贪婪行为)或无效数字“0.x”后跟有效数字“123”(但最终将其解析为无效的标记序列) ?
另外,在标记字符串时,词法分析器是否应该负责检查字符串是否有效(例如反斜杠后面仅跟允许的转义字符),还是应该在不同的语义分析步骤中检查此约束?我想这更多是一种架构偏好,但我很好奇你的意见。