html
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>hello</title> <style> body{background:url("bg.jpg");} </style> <script> window.onload=function(){ function Move(){ this.directX=1; this.directY=1; this.coor={x:0,y:0} this.method=function(){ var oImg=document.getElementsByTagName("img")[0]; oImg.style.position="absolute"; oImg.style.left="0"; oImg.style.top="0"; var left=oImg.style.left; var top=oImg.style.top; this.coor.x+=this.directX; this.coor.y+=this.directY; left=this.coor.x+"px"; top=this.coor.y+"px"; } } var move=new Move(); alert(move.method()); ***//为什么这里打印的是undefined呢?求解释***,我想用面向对象来写运动。 } </script> </head> <body> <p id="p2"> <img src="sun.gif" style="position:absolute;top:0px;left:0px;"/> </p> </body> </html>
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
你的method连返回值都没有,当然是undefined
你return了吗?大兄弟
method函数没有返回值,要用return
没有返回值的函数,它的默认值就是undefined,所以你打印就是undefined
看你问的问题,js基础完全不星, 建议你先别整面向对象了, 先学好js基础知识吧。