Sublime Text 3中jQuery代码高亮异常,请求语法正确性验证
你的jQuery代码语法问题分析与修正
嘿,我帮你排查了这段代码里的问题,Sublime Text 3出现异常高亮,是因为代码里存在几个明显的语法错误——虽然浏览器的JS引擎容错性强让功能暂时正常,但编辑器会严格解析这些问题:
- 注释里混入了多余的代码符号:在这行注释里
// Hide the Priority field if the selected } value is Project,多了一个},编辑器会把它当成代码的一部分,直接打乱了语法结构,这是导致高亮异常的主要原因之一。 - 函数体缺少闭合括号:你定义的
showOrHideField函数,在写完if-else的判断逻辑后,没有添加}来闭合函数体,JS解析器找不到函数的结尾,自然会触发语法报错提示。 - 可选的规范问题:最后几个
SPUtility.HideSPField语句后面没有加分号,虽然JS允许省略,但养成添加分号的习惯能避免一些潜在的语法歧义。
下面是修正后的完整代码:
<script src = "https://mysite/teams/spe/Style%20Library/tts/jquery-3.3.1.min.js"></script> <script src = "https://mysite/teams/spe/Style%20Library/tts/sputility.js" ></script> <script> // wait for the window to load $(document).ready(function() { // Get a single select dropdown field var ticketType = SPUtility.GetSPField('Ticket Type'); // create a function to show or hide Priority based on Project's value var showOrHideField = function() { var ticketTypeValue = ticketType.GetValue(); // Hide the Priority field if the selected value is Project if (ticketTypeValue === 'Project') { SPUtility.HideSPField('Priority'); } else { SPUtility.ShowSPField('Priority'); } }; // run at startup (for edit form) showOrHideField(); // make sure if the user changes the value we handle it $(ticketType.Dropdown).on('change', showOrHideField); //hide Category field from NewForm SPUtility.HideSPField('Category'); //hide issue status field from NewForm SPUtility.HideSPField('Issue Status'); //hide comments field from NewForm SPUtility.HideSPField('Comments'); }); </script>
把这些错误修正后,Sublime Text 3的语法高亮应该就能恢复正常了,同时代码的可读性和规范性也会更好~
内容的提问来源于stack exchange,提问作者Tim R
相关产品推荐
相关产品推荐

