<body> <h1 id="hello">Hello: </h1> <script> hello.innerHTML += "<br> second script, from " + dojo.version; var stPara = new Object(); stPara.top = 100; stPara.left = 200; stPara.note = dojo.byId("hello"); var a = { top: 100, left: 200, node: dojo.byId("hello") }; document.write(a==stPara); //??莫名其妙,a和stPara有啥区别? for(var ele in stPara){ document.write("<br>" + ele + stPara[ele]); } //dojo.fx.slideTo(stPara).play(); dojo.fx.slideTo(a).play(); //这里,如果是a就没有问题,如果是传入stPara,似乎就会报个错,莫名其妙??? </script> </body>
以上那段代码很奇怪。可能不是很清楚js里面对象定义的方式吧
两种定义方式,new Object()方式(如同stPara)以及直接量方式(如同a),定义出来的东西应该是一样的(吧?),为啥传给dojo.fx.slideTo()函数,前者包装的参数会报错呢?真是奇了怪了。。。js没学到家