在Javascript面试中很难
Hard in Javascript interview
所有人。
几天前,一位面试官问了我一个问题。我无法回答。可能在这个网站上存在一些大师JS。=)
我们只有一个字符串:VARNAME[byte][byte][byte][byte]
[byte]
在哪里放置一个字符。
问题:如果十六进制中的[字节][字节]对在十进制中必须不超过1000,JS如何正确编写?
我尝试以下:
1)VARNAME[20][3D][09][30]
相等
2)VARNAME<space>=1<space>
是正确的JS代码但是!
3) 十进制不正确的0x203D = 8253
必须<=1000 0x0120 = 2352
不正确的必须是<=1000!
我尝试在 20 上替换 09,然后:
0x093d = 2365
它更好,但超过 1000 =(
我怎么能做到?面试官说这是可能的,因为char可以是任何(我的意思是
varname;<space><space><space>
等等),但他不能告诉我答案。
谁能做到伙计们?
所描述的问题没有答案。
变量引用后表达式上下文中可能出现的最低代码点是 'u0009
,正如您所指出的,这将导致值大于 1000 (>= 2304)。ECMAScript 5 规范要求 JavaScript 环境在遇到无效字符时生成早期错误。这里唯一合法的字符是标识符继续字符或 InputElementDiv,它是空格、行终止符、注释、令牌和 DivPunctuator,它们都不允许在 'u0000
- 'u0003
范围内的代码点,这是问题获得答案所必需的。
有些环境在遇到'u0000
时终止解析(C 字符串结尾字符),但这些环境在这方面不符合 ES5。
JavaScript允许任何字符处于这个位置的说法是完全错误的。
但是,如果 VARNAME 在字符串或正则表达式中,这一切都会改变,它们都可以取 'u0000
- 'u0003
范围内的字符。如果这是面试官正在寻找的技巧,我只能说这是一个不公平的问题。
请记住,在面试中,你面试公司的次数与公司面试你的次数一样多,甚至更多。我会对加入一家认为这样的问题在面试中使用的有效问题的公司持严重保留态度。
- 在javascript中,I'我很难弄清楚如何让regex只替换捕获而不替换匹配
- 很难将python转换为JS
- Knockoutjs映射-很难让它工作
- Javascript:很难分析在for循环中包含indexOf的代码
- 我很难让两个jquery脚本一个接一个地工作
- 很难使用angular向JSON文件发出post请求
- 很难理解laravel中的重定向/路由
- 如何显示两个回复,并将其余回复折叠在查看回复下.(我很难显示两个回复)
- 这很难简明扼要地说.但是我的 if/else javascript 有问题.“如果”在“其他”发生之后不会发生
- 很难理解Javascript中的“可能等于”
- 在Javascript面试中很难
- 很难理解为什么这个函数在 JavaScript 中不起作用
- 很难在ng-repeat中使用JS对象
- 很难计算Javascript的总数
- 使用Dygraph很难指向近距离的时间序列点
- 很难让W3C AppML教程示例发挥作用
- FullCalendar-很难看到“;“迟到”;agendaDay视图中的事件
- CORS请求结构很难理解,你能帮我解释一下吗
- javascript中的单元测试:如何模拟?-一个(对我来说很难)的例子
- 很难弄清楚我的弹出窗口被阻止的原因