js是运行在浏览器的代码,他所能操作的范围只限定在浏览器范围内
要调用手机硬件,只能通过手机系统提供的api来调用
例如通过ios的,或安卓的系统接口来调用设备硬件
这里的if语句跟参数没有关系,if(window.top.moveBy)是判断浏览器是否支持moveBy方法,支持则返回true值然后执行后面的代码;不支持则返回false。IE是支持moveBy方法的,所以如果你用的是IE,则返回true值。这就有点类似于if(变量名),如果变量是经过定义并赋值的,那么返回true;如果未经过赋值,则变量值是undefined,if语句返回false。我写一个程序测试程序,你看看就明白了(把注释符去掉):
<!--html>
<head>
<script type="text/javaScript">
var AAAAA
function Dim1()
{
AAAAA=window.top.moveBy
Test()
}
function Test()
{
if (AAAAA)
{
alert("看到这段文字说明返回的是true值"+"\n"+"变量="+AAAAA)
location.reload()
}
else
{
alert("看到这段文字说明返回的是false值"+"\n"+"变量="+AAAAA)
}
}
</script>
</head>
<body>
<input type="button" value="不给变量赋值" onclick="Test()">
<input type="button" value="给变量赋值" onclick="Dim1()">
</body>
</html-->
不是IE正常,是IE不正常,FF是遵循W3C的标准的,而MS玩的是自己的标准,在Margin问题上,IE和FF不统一,主要是在IE6上,如果想做兼容,就用JS做浏览器判断,然后根据浏览器做不同的值设置