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或其他东西中