1、$(function () {//页面内容都加载完才执行的,因为加载有顺序的
})
aa();//错误输出
function aa(){//测试
method.bb();//获取不到,因为先加载这块
}
var method={//
bb:funciton(){
}
};
需改为往对象下写
aa();
2、下面是正确示范
<script type="text/javascript">
//---按理要写在界面最后,但也不需要
$(function () {//页面内容都加载完才执行的,因为加载有顺序的
method.aa(3);//3-第3
method.bb(4);//4-第4
console.log(b);//5-第5
})
var b=5;
var method={//对象处理较慢
bb:function(a){
method.aa(a);
},
aa:function(a){
console.log(a);//
}
}
method.aa(1);//这样也可以取到aa方法的值,对象加载完了,//-1-第1
aaa(2);//2、方法声明提前处理,可以拿到
function aaa(t){
console.log(t);//aaa最先处理-2-第2
}
</script>
3、
首先,JavaScript是解释性语言,本来就是顺序执行的!!
所以,如果发现有一段js代码总是在一段代码之前就执行完了,比如说报了null异常,那么有可能是回调函数的异步机制造成的。
此种情形下解决的方法是,把要执行的函数放在回调函数内部就可以了。