Javascript 从数组中获取值时未定义

Javascript 从数组中获取值时未定义,javascript,Javascript,我试图从数组中打印单个值,但它似乎不起作用(未定义)。当我打印出数组本身时,它显示数组中的值包含在索引0和1处 让imgDim=[]; imgDim.push(300); imgDim.push(300); let width=imgDim[0]; let height=imgDim[1]; 让testString=“s994320”; if(/^[ms]\d+$/.test(testString)==true){ console.log(imgDim);//有效 console.log(宽度

我试图从数组中打印单个值,但它似乎不起作用(未定义)。当我打印出数组本身时,它显示数组中的值包含在索引0和1处

让imgDim=[];
imgDim.push(300);
imgDim.push(300);
let width=imgDim[0];
let height=imgDim[1];
让testString=“s994320”;
if(/^[ms]\d+$/.test(testString)==true){
console.log(imgDim);//有效
console.log(宽度、高度);//未定义

}
let testString=s994320时出错

let imgDim = [];
imgDim.push(300);
imgDim.push(300);
let width = imgDim[0];
let height = imgDim[1];
let testString = 's994320';
if (/^[ms]\d+$/.test(testString) == true) {
  console.log(imgDim); //works
  console.log(width, height); //undefined undefined
}
让imgDim=[];
imgDim.push(300);
imgDim.push(300);
let width=imgDim[0];
let height=imgDim[1];
设testString='s994320';
if(/^[ms]\d+$/.test(testString)==true){
console.log(imgDim);//有效
console.log(宽度、高度);//未定义
}
通过在s994320中添加引号,代码可以工作:

让imgDim=[];
imgDim.push(300);
imgDim.push(300);
let width=imgDim[0];
let height=imgDim[1];
让testString=“s994320”;
if(/^[ms]\d+$/.test(testString)==true){
console.log(imgDim);//有效
console.log(宽度、高度);//未定义
}
const imgDim=[];
imgDim.push(300);
imgDim.push(300);
常数[
宽度,
高度,
]=imgDim;
const testString='s994320';
if(/^[ms]\d+$/.test(testString)){
console.log(imgDim);
控制台。原木(宽度、高度);

}
如果
testString
声明中的语法错误已修复(值应为带引号的字符串),则代码工作正常。s994320的数据类型是什么?@EvanGertis我认为应该是带引号的字符串。单击“运行代码段”,您将看到错误。@IshSah。好的,正如您所看到的,您的代码确实有效。