javascript - jsp中注释掉的代码为什么还会起作用
天蓬老师
天蓬老师 2017-04-11 11:19:53
[JavaScript讨论组]
<!--

function init() {

    if (${! SME230FormBean.viewFlg && ! SME230FormBean.rawFlg}) {

        inputChk_disableMinMax('${SME230FormBean.inChk_selChkType}');

        <logic:notEmpty name="SME230FormBean" property="inChk_selCharKindType">
            <logic:iterate id="inChk_selCharKindType" name="SME230FormBean" property="inChk_selCharKindType">
                <c:if test="${inChk_selCharKindType == 'ALL'}">
                    inputChk_SelCharKindAll('ALL');
                </c:if>
            </logic:iterate>
        </logic:notEmpty>

        inputFld_disabled('${SME230FormBean.inFld_selFldType}');

        defVal_disabled('${SME230FormBean.defVal_selUseType}');
    }
    
    if (${! SME230FormBean.viewFlg && SME230FormBean.rawFlg}) {
        inputFld_disabled('${SME230FormBean.inFld_selFldType}');
        defVal_disabled('${SME230FormBean.defVal_selUseType}');
    }

    viewFmt_disabled('${SME230FormBean.viewFmt_selUseType}');
    default_disabled('${SME230FormBean.default_selUseType}');
}

//-->

以上代码是jsp中的。

<td>
                <html:radio name="SME230FormBean" property="default_selUseType" value="0" onclick="default_disabled('0');" ><bean:message key="SME230.sequ.nouse" bundle="mi"/></html:radio>
                <html:radio name="SME230FormBean" property="default_selUseType" value="1" onclick="default_disabled('1');" ><bean:message key="SME230.sequ.usesequ" bundle="mi"/></html:radio>
                <html:radio name="SME230FormBean" property="default_selUseType" value="2" onclick="default_disabled('2');" ><bean:message key="SME230.sequ.useinde" bundle="mi"/></html:radio>

                <html:select name="SME230FormBean" property="default_selFmtType" styleClass="selectBox2">
                    <html:optionsCollection name="SME230FormBean" property="default_pullDownList"/>
                </html:select>
            </td>



以上是jsp中的引用代码


function default_disabled(val){

    var form = document.forms[0];

    if(val == '0'){
        
        form.default_selFmtType.disabled = true;
    }else if(val == '1'){
        
        form.default_selFmtType.disabled = true;
    }else if(val == '2'){
        
        form.default_selFmtType.disabled = false;
    }

}

以上是onclick事件触发的js动作。

这是一段写在jsp中被注释掉的代码,最后两行是用来做一个下拉框的初始设定,控制初始时下拉框是活性的还是非活性的。
如果没有末尾的两行代码,js就不会起到应有的作用。不明白为什么备注是的代码还会起作用,求指教。

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(4)
PHP中文网

这种用法是一种以前的老技巧,现在有时候还能看到,但已经不常用了。

在浏览器的上古时代,各种浏览器对JS的支持各不相同,很多浏览器压根不支持JS,所以那些支持浏览器的厂商就制定了这么一种策略,在<script>标签中的<!--会被忽略,而//-->由于用了JS注释,所以也不会起作用,因此对支持JS的浏览器来说这两行并没有起到注释的作用。但是对不认识JS的浏览器来说就不一样了,它们会把<!--当做HTML注释,然后由于不认识JS,所以最后的//-->也并不会被当做JS注释,结果就是所有JS代码都被当成了HTML注释看待,变成普通的注释文本了。

那时候,JS通常只是用来实现一些花哨的效果,表单验证时代都还没有开始,所以有没有JS实际上关系并不是很大,顶多就是没那么好看而已。

其实这种用法现在还有,比如严格模式就是由"use stric"这么一个字符串表示的,对于不支持严格模式的JS引擎来说这就是一个普通的字符串,但反之则是开启严格模式的命令。其他的例子还有IE注释等,都是用的这种策略。

伊谢尔伦

哪只眼睛看到被注释了
<!-- //注释开始

--> //注释结束

but
// --> //结束注释被注释掉了 所以就没用了啊。

大家讲道理

参考这个试试?

how to use comments in JSP

PHPz

js函数能用<!---->注释?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号