Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.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 Var是未定义的_Javascript - Fatal编程技术网

Javascript Var是未定义的

Javascript Var是未定义的,javascript,Javascript,大家好,我有这样的代码: <html> <head> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js"></script> </head> <body> <script type="text/javascript"> var array = []; $.get("h

大家好,我有这样的代码:

<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js"></script>
</head>

<body>
<script type="text/javascript">
var array = [];
$.get("http://wisepla3nt.com/331.txt", 
       function(data) {
           array = data.split(/\r\n|\r|\n/)
       }
);
</script>
<script>alert(array[Math.floor(Math.random()*array.length)]);</script>
</body>
</html>

var数组=[];
$.get(”http://wisepla3nt.com/331.txt", 
功能(数据){
array=data.split(/\r\n |\r |\n/)
}
);
警报(数组[Math.floor(Math.random()*array.length)];

处于警戒状态,但未定义。为什么?数组是全局的。

传递给
get
的函数不会立即执行。它被指定为事件处理程序,并在浏览器收到HTTP请求响应时激发

只有在发出alert语句之后,响应才会到达


根据回调函数中的响应执行工作。

传递给
get
的函数不会立即执行。它被指定为事件处理程序,并在浏览器收到HTTP请求响应时激发

只有在发出alert语句之后,响应才会到达


执行依赖于回调函数中的响应的工作。

可能是因为您在$.get函数返回之前发出了警报


$.get方法是一个Ajax调用,这意味着它是异步的。尝试将警报代码移到回调方法中。

可能是因为您在$.get函数返回之前发出警报


$.get方法是一个Ajax调用,这意味着它是异步的。尝试将警报代码移动到回调方法中。

get
是异步的,您在警报发出之后、服务器响应之前调用
alert


因此
array
为空,
array.length
为零,
Math.random()*0
将返回
0
,但没有
array[0]
,因此它返回
未定义的
get
是异步的,并且您正在调用
警报

因此
array
为空,
array.length
为零,
Math.random()*0
将返回
0
,但没有
array[0]
,因此它在数组填充字符串后立即返回
未定义的
移动警报()

<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js"></script>
</head>

<body>
<script type="text/javascript">
var array = [];
$.get("http://wiseplant.com/1.txt",
       function(data) {
           array = data.split(/\r\n|\r|\n/)
           alert(array[Math.floor(Math.random()*array.length)]);
       }
);
</script>
</body>
</html>

var数组=[];
$.get(”http://wiseplant.com/1.txt",
功能(数据){
array=data.split(/\r\n |\r |\n/)
警报(数组[Math.floor(Math.random()*array.length)];
}
);
在数组填充字符串后立即移动警报()

<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js"></script>
</head>

<body>
<script type="text/javascript">
var array = [];
$.get("http://wiseplant.com/1.txt",
       function(data) {
           array = data.split(/\r\n|\r|\n/)
           alert(array[Math.floor(Math.random()*array.length)]);
       }
);
</script>
</body>
</html>

var数组=[];
$.get(”http://wiseplant.com/1.txt",
功能(数据){
array=data.split(/\r\n |\r |\n/)
警报(数组[Math.floor(Math.random()*array.length)];
}
);