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

大家看我如下代码,我想把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);
        }
    }
    */

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

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

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

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

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

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

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(" //"); //这里也需要加符号"/*"
}
}
到这结束*/
}

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

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

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

用IDEA会自动帮你处理

  1. 可以在加一个多行注释;
  2. 方法内部用单行注释"//";
  3. 把方法内部的注释取消

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

多行注释不可以嵌套,

选中注释的部分,编辑器快捷键 “ctrl+/ ”
这个问题根本没什么好钻牛角尖的,编辑器已经提供的够好了

把中间的一个*/去掉