首页 > 解决方案 > JS 如何在不知道名字的情况下使用 Object 变量?

问题描述

我正在使用一个 android 应用程序的示例代码,
其中一个资产文件是包含 2 个 JS 代码
的 HTML,第一个 JS 代码在线托管在 Wikiitudes 服务器上,第二个是 HTML 文件本身中的本地代码
我不明白本地代码对某些东西有什么好处,因为变量的名称不是强制性的,当我更改变量的名称时,代码仍然有效!
这怎么可能?
我习惯了 Java 和 CPP,如果你想使用对象变量,你必须知道它的名字!
这是文件:

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <script src="https://www.wikitude.com/libs/architect.js"></script>
    <script type="text/javascript">
    AR.context.onLocationChanged = function(lat, lon, alt, acc) {
            var src = new AR.ImageResource("assets/marker_idle.png");
            var marker = new AR.ImageDrawable(src, 2.5, {
                zOrder: 0,
                opacity: 1.0
            });
            var markerLocation = new AR.GeoLocation(31.261809, 34.794700, 302.5);
            var markerObject = new AR.GeoObject(markerLocation, {
                drawables: {
                    cam: [marker]
                }
            }); 
    }
    </script>
</head>
<body>
</body>
</html>

奇怪的是,即使我将变量“markerObject”的名称更改为其他名称,例如“myMarkerObject”,代码仍然有效!这怎么可能?
看起来 -在线javascript 代码无法知道 本地javascript 代码中的“onLocationChanged”函数中定义的变量的名称。
那么变量是如何使用的呢?
这些变量(例如“markerObject”)有什么用?如果没有其他对象知道他们的名字?
请救我脱离这恐怖

标签: javascriptjqueryhtml

解决方案


推荐阅读