1 for 循环中的 let 变量外部访问不到
2 JavaScript 中整数限制问题
唯一记住的就是大于
Math.pow(2, 53)
,也就是(9007199254740992,16位数)会出现问题。
最大最小值为:
Number.MAX_VALUE // 1.7976931348623157e+308
Number.MIN_VALUE // 5e-324
有效值:
没有进行数值运算的话,
2
53
2^{53}
253 (9007199254740992,16位数) 显示结果是正确的:
Math.pow(2, 53)
// 9007199254740992
// 多出的三个有效数字,将无法保存
9007199254740992111
// 9007199254740992000
3 JavaScript 中如何创建一个二维数组
// 方法1
let dp = Array.from({length: m}, item => [])
// 方法2
// m 表示纵向,n 表示横向
function set2DArray(m, n){
let arr2D = new Array(m);
for (let i = 0; i < arr2D.length; i++) arr2D[i] = new Array(n);
return arr2D
}
// 方法3
let arr2D = [...Array(m)].map(item => [])
Array 的 fill
方式不可以来创建二维数组,因为填充的数组是同样地址,这样会导致修改一处多出多会同时修改。
4 如何创建指定长度的空数组
let a = [...Array(3)].fill('')
console.log(a) // ["", "", ""]
let b = [...Array(3)].map(item => undefined)
console.log(b) // [undefined, undefined, undefined]
let c = [...Array(3).keys()]
console.log(c) // [0, 1, 2]
也可以通过构造函数来创建,但是不能用上述的后两种方式。
let a = new Array(3).fill('')
console.log(a) // ["", "", ""]
5 什么是计算属性
6 「HTML」window.open 第二个参数
来源:牛客网 JavaScript 习题
window.open
函数的第二个参数如何理解?
let windowObjectReference = window.open(strUrl, strWindowName, [strWindowFeatures]);
答:
strWindowName
:新窗口的名称。该字符串可以用来作为超链接 <a>
或表单 <form>
元素的 target
属性值。字符串中不能含有空白字符。
注意:strWindowName 并不是新窗口的标题。
strWindowName 仅仅是一种打开新窗口的方式的名称,这样可以通过第三个参数 strWindowFeatures
自定义新窗口打开的样式。下一次调用就可以用这个名称,就不用设置第三个参数了值了。
不过一般最常见的是 _blank
,也就是 新窗口打开,即到一个新的未命名的HTML4窗口或HTML5浏览器上下文
7 如何切换 Vue-CLI
直接通过@指定版本,或者是更新到最新版本。
yarn global add @vue/cli@x.x.x # 更新到 x.x.x 版本
yarn global upgrade --latest @vue/cli # 更新到最新版本
8 「Vue」在当前目录下创建项目
vue create .
注意:文件名不可以有大写
9 「JavaScript」创建长度为 1000 万的 string
new Array(10000001).join("0")