菜鸟求救 javascript addLoadEvent函数的用法~ 5
addLoadEvent函数:functionaddLoadEvent(func){varoldonload=window.onload;if(typeof(window...
addLoadEvent函数:
function addLoadEvent(func){
var oldonload=window.onload;
if(typeof (window.onload !='function')){
window.onload=func;
}else{
window.onload=function(){
oldonload();
func();
}
}
}
看书说这个函数可以当页面加载完毕后执行多少个函数都没问题。
按我的理解写了这个js:
function addLoadEvent(func){
var oldonload=window.onload;
if(typeof (window.onload !='function')){
window.onload=func;
}else{
window.onload=function(){
oldonload();
func();
}
}
}
function a(){
alert("a");
}
function b(){
alert("b");
}
function c(){
alert("c");
}
window.onload=function(){
addLoadEvent(a);
addLoadEvent(b);
addLoadEvent(c);
}
为何没有反映?是我那里写错了还是我的理解有误? 求解~ 谢谢 展开
function addLoadEvent(func){
var oldonload=window.onload;
if(typeof (window.onload !='function')){
window.onload=func;
}else{
window.onload=function(){
oldonload();
func();
}
}
}
看书说这个函数可以当页面加载完毕后执行多少个函数都没问题。
按我的理解写了这个js:
function addLoadEvent(func){
var oldonload=window.onload;
if(typeof (window.onload !='function')){
window.onload=func;
}else{
window.onload=function(){
oldonload();
func();
}
}
}
function a(){
alert("a");
}
function b(){
alert("b");
}
function c(){
alert("c");
}
window.onload=function(){
addLoadEvent(a);
addLoadEvent(b);
addLoadEvent(c);
}
为何没有反映?是我那里写错了还是我的理解有误? 求解~ 谢谢 展开
展开全部
首先你的这个语句:if(typeof (window.onload !='function')){
写的不正确,应该修改为:if(typeof (window.onload) !='function'){
其次,window.onload中嵌套window.onload好像不可以,如果你想实现3个函数陆续执行的修改,addLoadEvent方法可以修改成如下:
function addLoadEvent(func){
var oldonload=window.onload;
if(typeof (window.onload) !='function'){
window.onload=func;
}else{
func();
}
}
写的不正确,应该修改为:if(typeof (window.onload) !='function'){
其次,window.onload中嵌套window.onload好像不可以,如果你想实现3个函数陆续执行的修改,addLoadEvent方法可以修改成如下:
function addLoadEvent(func){
var oldonload=window.onload;
if(typeof (window.onload) !='function'){
window.onload=func;
}else{
func();
}
}
更多追问追答
追问
改个括号就行了。函数是会用,但还是不太明白内部代码是什么意思。
譬如 var oldonload=window.onload; 把加载付给一个变量是什么意思?还有后面的if判断又有什么作用?能否详细说说~
追答
其实说实话我也不是特别懂为什么要将加载付给一个变量,因为后面代码中好像没有用这个变量干什么事,如果想您以前的代码那么写,可能的原因是由于window.onload的值不断改变,方便使用所以将其赋给一个变量,以后就用这个变量就可以了,因为在js中类型这个概念很模糊,所以也可以这么使用不会出现问题。后面的判断字面上来看就是判断是否是一个函数,我觉得这只是一个常规的判断而已,没什么特殊的。就像你使用一个变量以前,最好判断一下它是否为空。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询