Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript &引用;无法读取属性';长度';“未定义”的定义;调用函数时_Javascript - Fatal编程技术网

Javascript &引用;无法读取属性';长度';“未定义”的定义;调用函数时

Javascript &引用;无法读取属性';长度';“未定义”的定义;调用函数时,javascript,Javascript,单击“刷新”按钮时出现以下错误: caught TypeError: Cannot read property 'length' of undefined at getRandomImage (index.html:85) at HTMLInputElement.onclick (index.html:11) 请参阅此代码段: var myArray=new Array(); getRandomImage(myArray,“”); 函数getRandomImage(imgAr,路径){ pa

单击“刷新”按钮时出现以下错误:

caught TypeError: Cannot read property 'length' of undefined
at getRandomImage (index.html:85)
at HTMLInputElement.onclick (index.html:11)
请参阅此代码段:

var myArray=new Array();
getRandomImage(myArray,“”);
函数getRandomImage(imgAr,路径){
path=path | |“C:/Users/Owen/Desktop/1-800MemeLine-master/memes/”;//此处的默认路径
var num=Math.floor(Math.random()*imgAr.length);
var img=imgAr[num];
var imgStr='';
document.write(imgStr);document.close();
}

这不是最好的解决方案,但它解决了您的问题:

var myArray = new Array();
var path =  'C:/Users/Owen/Desktop/1-800MemeLine-master/memes/';
getRandomImage();

function getRandomImage() {
  var num = Math.floor( Math.random() * myArray.length );
  var img = myArray[ num ];
  var imgStr = '<img src="' + path + img + '" alt = "">';
  document.write(imgStr);
  document.close();
}
var myArray=new Array();
var path='C:/Users/Owen/Desktop/1-800MemeLine-master/memes/';
getRandomImage();
函数getRandomImage(){
var num=Math.floor(Math.random()*myArray.length);
var img=myArray[num];
var imgStr='';
文件编写(imgStr);
document.close();
}

onClick
中,您在调用
getRandomImage()
时没有任何参数,因此函数中的
imgAr
未定义,当你试图读取未定义的长度时,你会得到一个TypeError。你能提供一些演示代码吗?你不明白你在说什么,我该如何定义imgAr吗?你是说我应该做getRandomImage(imgAr)吗?不,因为你没有在onclick中提供任何数组。从您的代码来看,您的数组似乎是相当静态的,因此不需要将其作为参数传递。我添加了一个解决您的问题的答案,但它不一定能提供一个好的答案(或关于这个问题的好代码)。它删除了背景和图像切换按钮。有没有办法将它放在iframe或其他东西中