问答详情
源自:2-7 编程练习

代码无效果

 var mywin=confirm(是否打开);

    var myprompt=prompt("请输入地址:"," http://www.imooc.com/");

    function openwindow(){

    if(mywin=true)

    {window.open('myprompt','_blank','width=400,height=500,menubar=no,toolbar=no',)

        };

        else{return};

    }

这段代码无效果的原因是什么

提问者:weibo_54单行本_03821866 2016-08-17 22:14

个回答

  • implements
    2016-08-18 20:55:40
    已采纳

    //先上代码
     var mywin=confirm("是否打开");
     if(mywin){
        var myprompt=prompt("请输入地址:"," http://www.imooc.com/");
        if(myprompt!=null){
        openwindow(myprompt);
        }
    }
        function openwindow(url)
        {
            if(mywin=true)
            {
                window.open(url,'_blank','width=400,height=500,menubar=no,toolbar=no');
            }
        }

    不好意思昨晚太晚了,没认真看,刚刚看了一下你的问题,比较多:

    1.   confirm()方法内的参数应该是变量,而你直接用中文输入;

    2. prompt()内的","是中文状态下输入的;

    3. prompt()内的网址的":"是中文状态下输入的,会访问不到正确的网址;

    4. 没有调用openwindow()方法;

    5. openwindow()方法内的if()判断表达式不正确,应该为if(mywin==true);

    6. 我学了C和JAVA,不是很懂你的大括号后面加分号,虽然没有问题,但是后面的else{return};有问题,错的路有一万条,我只知道正确的那一条;

    7. window.open()内的第三个参数后多了一个",";

    8. window.open()的第一个参数,要么你就用变量,要么你就用字符串内有网址的,例:'baidu.com';

    9. 对了,如果是你这样写的话,第一条语句毫无用处。

    10. 如果在JAVA吧,你已经被劝退了。

    以下是个人建议,看不看随便:

    初学者出错,首先:检查拼写、大小写、中英文符号、各种括号分号;

    然后:检查程序运行逻辑顺序;

    最后:养成自立的习惯,如果有不对的敌方,一条一条语句地尝试至正确,对比其他人的正确代码,仔细检查到底是哪个字母或符号不一样,不是每一次的小问题,都会有人愿意花费自己的时间来帮你。

    这是我第一次,估计也是最后一次。

    以上。

  • 慕粉void
    2016-08-18 11:20:36

    =是赋值,==才是等于,应该这样写:

    if (mywin == true) {
        window.open(myprompt, '_blank', 'width = 400, height = 500, menubar = no, toolbar = no');
    }


  • Eric_lee
    2016-08-18 09:49:03

    把mywin=true改为mywin==true,是布尔型不是赋值语句

  • Eric_lee
    2016-08-17 22:52:52

    if条件中的mywin=true是啥玩意??这样写不对,,直接设置一个布尔型变量就OK了

  • 慕丝5859734
    2016-08-17 22:27:50

    第5行不对,仔细查查看

  • implements
    2016-08-17 22:26:47

    confirm("是否打开");