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)];
}
);