Javascript Jslint无法识别错误排序函数的选项
我使用JavaScript注释来设置选项Javascript Jslint无法识别错误排序函数的选项,javascript,jslint,Javascript,Jslint,我使用JavaScript注释来设置选项 /*jslint undef: false, browser: true */ 允许按照错误的顺序排列函数和变量定义。我也尝试将其设置为“true”,但这也不起作用 然而,我仍然得到 “vFlipB”是在定义之前使用的 vFlipB('mi_cover'); 此函数首先在第299行调用: Mo.UserAny = { pre : function (o_p) { vFlipB('mi_cover');
/*jslint undef: false, browser: true */
允许按照错误的顺序排列函数和变量定义。我也尝试将其设置为“true”,但这也不起作用
然而,我仍然得到
“vFlipB”是在定义之前使用的
vFlipB('mi_cover');
此函数首先在第299行调用:
Mo.UserAny = {
pre : function (o_p) {
vFlipB('mi_cover');
if ((localStorage.hash === '0') || (localStorage.hash === undefined) || (localStorage.hash === null)) {
o_p.result = 'complete';
Vi.Ani.flipP('sp');
return o_p;
}
。
.
但直到下文才有定义:
958年
/**
** vFlipB
*/
function vFlipB( current_id ) {
// turn on
var current_link = document.getElementById( current_id + '_l' ),
current_box = document.getElementById( current_id );
current_box.style.opacity = 1;
current_link.style.borderBottom = '2px solid #31baed';
// turn off
if( vFlipB.previous_box !== undefined && vFlipB.previous_box !== current_box ) {
vFlipB.previous_box.style.opacity = 0;
vFlipB.previous_link.style.borderBottom = '';
}
// set current to static previous
vFlipB.previous_box = current_box;
vFlipB.previous_link = current_link;
}
使用以下命令:
/*jslint unde:true、sloppy:true、browser:true*/
根据,在严格模式下,undef
选项不可用。因此,您需要设置sloppy:true
(好名字,嗯?)并删除任何“使用严格”语句。(您还反转了unde
的值)
当然,也有使用严格模式的方法。如果要避免警告但仍使用严格模式,则实际上只有三个选项:
- 使用JSHint而不是JSLint
- 放置
“严格使用”代码>位于每个单独函数体的顶部,而不是文件或模块的顶部。(但不能将其放在调用vFlipB()的函数中,否则会返回警告)
- 更改代码以避免调用定义较低的函数。您可以对代码进行重新排序,将其拆分为单独的模块,或者使用如下技巧:
var vFlipB;
...
vFlipB();
...
vFlipB = function () { ... };
我们可以看到您的代码的其余部分吗?因为这部分很好,无法修改。所以我刚刚发布了代码的两个区域。为什么不将函数放在第299行部分之前?您在哪里调用了jslint的选项?只需在.js文件顶部添加注释-/*jslint unde:false,browser:true*/