您认为每个程序员应该知道哪些JavaScript的"隐藏功能"?
在看到以下问题的答案的优秀质量后,我认为是时候向它询问JavaScript了.
虽然JavaScript现在可以说是最重要的客户端语言(只是问谷歌)但令人惊讶的是,大多数网络开发人员都很少理解它的实力.
为什么在JavaScript严格模式下不允许使用八进制数字文字?有什么危害?
"use strict";
var x = 010; //Uncaught SyntaxError: Octal literals are not allowed in strict mode.Run Code Online (Sandbox Code Playgroud)
<h1>Check browser console for errors</h1>Run Code Online (Sandbox Code Playgroud)
有人写了这个(非常糟糕的)函数来将数值从0-999翻译成英文单词.
function getNumberWords(number) {
var list = new Array(1000);
list[000] = "zero";
list[001] = "one";
list[002] = "two";
list[003] = "three";
///skip a few
list[099] = "ninety nine";
list[100] = "one hundred";
list[101] = "one hundred and one";
///skip a few more
list[997] = "nine hundred and ninety seven";
list[998] = "nine hundred and ninety eight";
list[999] = "nine hundred and ninety nine";
return list[number];
}
Run Code Online (Sandbox Code Playgroud)
这里有一些相当奇怪的错误,我似乎无法弄清楚原因.一些但不是所有元素都放在错误的单元格中.
我尝试显示列表的contentes,它显示了一个非常时髦的结果:
> list.toString();
"zero,one,two,three,four,five,six,seven,ten,eleven,twelve,thirteen,fourteen,
fifteen,sixteen,seventeen,twenty,twenty one,twenty two,twenty three,twenty four,
twenty five,twenty six,twenty seven,thirty,thirty …Run Code Online (Sandbox Code Playgroud)