window.onload = function () {
var btn = document.querySelector("#btn")
btn.onclick = function(){
var cityName = document.querySelector("#city").value
//动态创建script 并且添加src属性
var script = document.createElement('script')
script.src = "http://www.xufeng.com:3306/ajax/server/result.php?city=" + cityName +"&callback=foo"
document.querySelector('head').appendChild(script)
window['foo'] = function(data){
console.log(data)
}
}
}
</script>
$cbName = $_GET['callback'];
$cityName = $_GET['city'];
if($cityName == '宿迁'){
echo $cbName . "('宿迁天气晴')";
}else{
echo $cbName . "('没有查询到此地信息')";
}
window['foo'] = function(data){
console.log(data)
}
<script>
function foo(data){
console.log(data)
}
</script>
是全局的,相当于在window对象下声明了一个函数,而要函数执行,你肯定要去调用它,点击只是调用它的一种方式。
返回信息是要返回data吗,直接return就好了。然后调用时赋值var d=foo(1);此时d就是return的值。
可以啊,这不就是构造函数的声明方式吗。
匿名函数就是没有名字的函数,这个具体你可以百度一下,百度说的详细
你说的很对,但是我看的有点吃力,很多地方模棱两可
那里是不是等价于 function foo(data){ console.log(data)} 还是全局函数
而点击就代表window调用了一次foo函数 并且在控制台输出了data数据
你所说的 return 用变量接受 ,再输出就可以在页面显示了
最近在看回调,感觉啥都混在一起了,谢谢你!