-1

好吧,我有这个小脚本:

<script>
window.addEventListener('deviceorientation', function(event) {
  var a = event.alpha;
  var b = event.beta;
  var g = event.gamma;
}, false);
</script>

<script>
setInterval('alert(""+g+"");', '1000');
</script>

哪个应该添加deviceorientation,将其附加到页面上,并每隔 1 秒提醒当前方向是什么,即 gamma。

但是,它不起作用?没有任何警报!任何提示...想法...?

编辑:我在控制台日志中收到“未捕获的 ReferenceError:g 未定义”......但它已定义!

4

1 回答 1

2

var语句将变量的范围设置为它所在的函数。

您正在尝试访问全局范围内的局部变量——它不存在。

此外,在 a 发生之前您不会设置变量deviceorientation,但您会一直尝试读取它。

您将不得不像这样重写您的代码:

<script>
window.addEventListener('deviceorientation', function(event) {

  var a = event.alpha;
  var b = event.beta;
  var g = event.gamma;

  console.log( g.toString() ); // Better to use a non-blocking method like console.log to display results.

}, false);
</script>
于 2013-03-11T07:17:33.320 回答