gpt4 book ai didi

javascript - Javascript 面试很难

转载 作者:行者123 更新时间:2023-11-28 08:48:28 24 4
gpt4 key购买 nike

大家。

前几天面试官问了我一个问题。而我无法回答。可能这个网站上存在一些 JS 大师。 =)

我们只有一个字符串:VARNAME[byte][byte][byte][byte]哪里[byte]是一个字符的位置。

问题:如果 [byte][byte] 必须是十六进制,如何正确编写 JS不超过十进制 1000 吗?

我尝试了以下操作:

1) VARNAME[20][3D][09][30]是相等的

2) VARNAME<space>=1<space>这是正确的 JS 代码,但是!

3) 0x203D = 8253小数不正确必须 <=1000 0x0120 = 2352不正确必须<=1000!

我尝试在 09 上替换 20,然后:

0x093d = 2365比较好,不过1000多=(

我怎样才能做到呢?面试官说这是可能的,因为 char 可以是任何(我的意思是

varname;<space><space><space>等等),但他不能给我答案。

谁能做到呢?

最佳答案

所描述的问题没有答案。

变量引用后表达式上下文中可以出现的最低代码点是 \u0009,正如您所指出的,它将导致值大于 1000 (>= 2304)。 ECMAScript 5 规范要求 JavaScript 环境在遇到无效字符时生成早期错误。这里唯一合法的字符是标识符连续字符或 InputElementDiv,它可以是 WhitespaceLineTerminatorCommentTokenDivPunctuator,它们都不允许在 \u0000-\u0003 范围内的代码点,这将是问题需要有答案。

有些环境会在遇到 \u0000(C 字符串结束字符)时终止解析,但这些环境在这方面不符合 ES5。

JavaScript 允许在此位置出现任何字符的说法是完全错误的。

但是,如果 VARNAME 位于字符串或正则表达式中,则这一切都会发生变化,它们都可以采用 \u0000-\u0003 范围内的字符。如果这就是面试官想要的技巧,我只能说这是一个不公平的问题。

请记住,在面试中,您对公司的面试与公司对您的面试一样多,甚至更多。对于加入一家认为此类问题在面试中使用的有效问题的公司,我持严重保留态度。

关于javascript - Javascript 面试很难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19454039/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com