在我的代码中有这一部分:
//config.tls.ca can be a String or and Array of String
if (config.tls.ca && !Array.isArray(config.tls.ca))
config.tls.ca = [].push(config.tls.ca);
我意识到之后:config.tls.ca = 1
为什么会这样?
document.write([].push("Hello World"));
答案 0 :(得分:2)
Array.prototype.push
返回调用该方法的对象的新length属性。
您正在将一个项目推入一个空数组,因此数组的新长度为1
,从push
返回并分配给.ca
。阵列本身消失在以太中,因为它没有分配给任何东西。
没有理由写这样的代码;你会这样做:
config.tls.ca = [config.tls.ca];