2 czh500 czh500 于 2018.03.15 01:21 提问

javascript中多个多行注释导致语法错误! 5C

大家看我如下代码,我想把getCitysByParentId()这个函数给注释掉,所以我在getCitysByParentId()这个函数外面用了一个多行注释,可是getCitysByParentId()这个函数的内部又有一个多行注释,导致了这2个多行注释匹配乱了,getCitysByParentId()函数外面的多行注释的开头注释和getCitysByParentId()函数中的多行注释的结尾注释匹配成一对了,请问大家有什么办法怎么解决?不要告诉我全部用单行注释!

 /*
    function getCitysByParentId() {
        if (xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200) {
            //隐藏加载图片
            hideLoading();
            var cityList = xmlHttpRequest.responseText;
            debug(cityList);
            var citys = eval("(" + cityList + ")");
            /*
            从服务器端返回的json字符串是[null],这是一个空数组,里面没有任何元素,但是在前端页面解析后打印该json的长度是1,所
            以前端页面上要判断json是否是一个空数组,不能用数组长度来进行判断,必须要判断该json是否是一个空字符串,如果是一
            个空字符串的话,那就说明该json是一个空数组,如下citys == ""
            */
            if (citys == null || citys.length == 0 || citys == "") {
                return;
            }
            debug("<font color='red'>数组长度=" + citys.length + "</font>");
            var fatherLiNode = document.getElementById(myLiId);
            var newUlNode = document.createElement("UL");
            for (var i = 0; i < citys.length; i++) {
                var newLiNode = document.createElement("LI");
                newLiNode.id = "tag" + citys[i].cityId;
                newLiNode.innerHTML = "<a class='" + createRandomColor() + "' title='" + citys[i].context + "' href='#' onclick='return getCitys(\"" + citys[i].cityId + "\", \"tag" + citys[i].cityId + "\")'>" + citys[i].cityName + "</a>";
                newUlNode.appendChild(newLiNode);
            }
            fatherLiNode.appendChild(newUlNode);
        }
    }
    */

14个回答

qiuchp
qiuchp   2018.03.15 03:20

getCitysByParentId方法内部的注释 都用单行注释“//” 。注释getCitysByParentId方法时用多行注释。

qman19791123
qman19791123   2018.03.15 07:23

在if (citys == null || citys.len....前再加一个/* 就可以了,错误原因 /**/ 需要成对出现的而 你有个对/**/ 正好重叠了所有报错了咯

weixin_40223830
weixin_40223830   2018.03.15 08:55

public class DefaultCommentGenerator
public void addFieldComment(Field field, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) {
/*从这开始注释
field.addJavaDocLine("/** "+introspectedColumn.getRemarks()+"*/");
if(!this.suppressAllComments) {
StringBuilder sb = new StringBuilder();
field.addJavaDocLine("*//**"); //这里加符号"*/"
field.addJavaDocLine(" * This field was generated by MyBatis Generator.");
sb.append(" * This field corresponds to the database column ");
sb.append(introspectedTable.getFullyQualifiedTable());
sb.append('.');
sb.append(introspectedColumn.getActualColumnName());
field.addJavaDocLine(sb.toString());
this.addJavadocTag(field, false);
field.addJavaDocLine(" //"); //这里也需要加符号"/*"
}
}
到这结束*/
}

JmuGisWang
JmuGisWang   2018.03.15 08:55

多加一个多行注释,变成三个多行注释。
/*
function .....

var citys = eval("(" + cityList + ")"); /
/

从服务器端返回的json字符串是[null],这是一个空数组,里面没有任何元素,但是在前端页面解析后打印该json的长度是1,所
以前端页面上要判断json是否是一个空数组,不能用数组长度来进行判断,必须要判断该json是否是一个空字符串,如果是一
个空字符串的话,那就说明该json是一个空数组,如下citys == ""
/
/
if (citys == null || citys.length == 0 || citys == "")
.......
}*/

baidu_30233079
baidu_30233079   2018.03.15 08:57

其实这个没有什么好的办法,编译器没有做到那么好,没有完美办法。
我觉得你应该采纳我的建议,别在这浪费时间

baidu_30233079
baidu_30233079 可以查一下你用的编辑器的快捷汇总,有很多你想不到的快捷功能,提高编码效率
大约一个月之前 回复
baidu_30233079
baidu_30233079 我的建议就是不要纠结这件事,没有好办法。ctrl+shift+c这个是快捷键,不同的编辑器有不同的快捷键,都能快速把选中代码注释和取消注释
大约一个月之前 回复
czh500
czh500 我看到下面的一个网友的办法,eclispe中jsp页面中,注释javascript代码可以选中要你要注释的代码,使用ctrl+shift+c快捷键就可以做到单行注释!这个办法挺好,不纠结了,就这样干了,本来想函数中使用多行注释把函数中一大堆的代码给注释掉比较方便,不成想,我又不想要这个函数了,所以干脆把这个函数给注释掉,所以我就在函数外面又使用了多行注释,结果函数外面的多行注释和函数里面的多行注释匹配上了,导致了语法错误!
大约一个月之前 回复
czh500
czh500 采纳你的建议,你没说怎么做啊!你的办法是函数里面全部改成这种//但行注释是吗?我知道多行注释内部是不能嵌套多行注释的,否则多个多行注释就会匹配乱了,最终导致语法错误。哎,如果函数中有一大堆的语句我要注释掉,只能用单行注释,会累死,eclispe在jsp页面上注释javascript代码,没快捷键,我要一行一行的加上这个//单行注释!
大约一个月之前 回复
qw0907
qw0907   2018.03.15 09:09

包含的内容 除了用单行注释,应该没解决方法了。。

qq_37127729
qq_37127729   2018.03.15 09:17

先把注释全部取消,然后选中内容ctrl+shift+c来进行批量注释

h8170358
h8170358   2018.03.15 09:47

用IDEA会自动帮你处理

xiaoJack_C
xiaoJack_C   2018.03.15 10:08
  1. 可以在加一个多行注释;
  2. 方法内部用单行注释"//";
  3. 把方法内部的注释取消
qq_39932010
qq_39932010   2018.03.15 11:01

多行注释内部是不能嵌套多行注释的,否则就是语法错误。如果多行注释内部还需要多行注释的话,最好拆分成多个多行注释,或者内部用单行注释。

共14条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!