想问下代码这里什么意思

来源:8-11 自由编程

陈立天

2020-08-15 10:51:04

这是同学写的代码 我打开参考了一下

1.直接定义一个go的变量是什么意思?我测试打印go 是undefined   和直接go=null 有什么区别?

2.另外这里的条件判断是什么意思? 

3.如果在页面刚打开的时候 这里的条件判断有执行到吗?

http://img.mukewang.com/climg/5f374d0b09ddcea010731828.jpg

<!DOCTYPE html>

<html>

<head>

    <title></title>

</head>

<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=cae1f6c32cb63e91eaf620502db545a4&plugin=AMap.Driving,AMap.Riding,AMap.Walk,AMap.Transfer,AMap.Autocomplete"></script>

<link rel="stylesheet" type="text/css" href="https://netdna.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">

<style type="text/css">

    *{

        margin: 0;

        padding: 0; 

}

#container{

        width: 100%;

        height: 100%;

        position: absolute;

        top: 0;

        left: 0;

}

#nav{

    position: fixed;

    left: 20px;

    top: 10px;

    background-color: #765;

    border: 1px solid #000;

    padding: 10px 6px;

}

#nav  p  i{

    float: left;

    width: 33%;

    text-align: center;

}

#nav > #btn{

    width: 100px;

    margin-left: 50%;

}

</style>

<body>

<div id="container"></div>



<div id="nav">

    <p><i id="walk" class="fa fa-car"></i><i class="fa fa-bus" id="transfer"></i><i class="fa fa-bicycle" id="riding"></i></p><br>

    起始地:<input id="orgin"></input><br>

    目的地:<input id="destination"></input><br>

    <button id="btn">驾驶出发</button>

    <div id="searchResult"></div>

</div>

<script type="text/javascript">

    var map = new AMap.Map('container',{

        zoom:10, //初始化地图的级别

        center:[114.9,32]}), //初始化地图的中心点

        Num = 1,

        go;


    new AMap.Autocomplete({

        input:orgin

    });

    new AMap.Autocomplete({

        input:destination

    });





    walk.onclick = function(){

        btn.innerHTML = '驾驶出发';Num = 1

    };

    riding.onclick = function(){

        btn.innerHTML = '骑行出发';Num = 2

    };

    transfer.onclick = function(){

        btn.innerHTML = '公交出发';Num = 3

    };



    btn.onclick = function(){

        if(go){

            map.clearMap();

            searchResult.innerHTML = ''

        };

        switch(Num){

            case 1: 

                    go = new AMap.Driving({

                        map:map,

                        panel:searchResult

                    });break;

            case 2: 

                    go = new AMap.Riding({

                        map:map,

                        panel:searchResult

                    });break;



            case 3: 

                    go = new AMap.Transfer({

                        map:map,

                        panel:searchResult

                    });break;

        };

        go.search([{

                keyword:orgin.value,city:'光山县',

            },{

                keyword:destination.value,city:'光山县',

            }],function(status,data){

    });}



</script>

</body>

</html>


写回答

2回答

好帮手慕星星

2020-08-15

同学你好,问题解答如下:

1、go是用来接收实例化的路径对象的,然后调用search方法显示出结果

http://img.mukewang.com/climg/5f3776f309b80f8f03730291.jpg

if判断go这里可以不写,没有意义

http://img.mukewang.com/climg/5f37770d0936e34903850245.jpg

在点击事件中打印go是有值的,开始定义没有值肯定是undefined

http://img.mukewang.com/climg/5f37775709c14e2413340048.jpg

2、判断是在点击事件中添加的,所以只有执行点击事件的时候才会执行判断,页面打开的时候不执行。

3、可能是网络的问题,加载在线地址一时间进不了,导致转圈。老师这边测试代码没有问题,可以多刷新几次。

祝学习愉快!

0

陈立天

提问者

2020-08-15

4. 我参考了两位同学写的代码,一个是置顶的那条:https://class.imooc.com/course/qadetail/181475

另外一个是本问答发的这些代码。我发现打开网页 本提问发的那个代码,和置顶的代码网页状态不一样。。非置顶的那个一直网页一直处于加载状态,置顶的是没有转圈圈的。 是什么原因导致的?

http://img.mukewang.com/climg/5f374df90910bdf207320408.jpg

0

0 学习 · 6815 问题

查看课程