Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript `无法实例化非constructior`Closure编译器警告?_Javascript_Jquery_Debugging_Compiler Construction_Instantiation - Fatal编程技术网

Javascript `无法实例化非constructior`Closure编译器警告?

Javascript `无法实例化非constructior`Closure编译器警告?,javascript,jquery,debugging,compiler-construction,instantiation,Javascript,Jquery,Debugging,Compiler Construction,Instantiation,亲爱的各位,我应该如何处理闭包编译器输出的这些错误警告? 非常感谢您对这类错误的想法和代码改进: JSC_错误_参数_计数:函数parseInt:用1个参数调用。函数需要至少2个参数,但不超过2个参数。在第593行,字符12 if(parseInt(jQuery.browser.version)

亲爱的各位,我应该如何处理闭包编译器输出的这些错误警告? 非常感谢您对这类错误的想法和代码改进:

  • JSC_错误_参数_计数:函数parseInt:用1个参数调用。函数需要至少2个参数,但不超过2个参数。在第593行,字符12
    if(parseInt(jQuery.browser.version)<7){

  • JSC非构造函数:无法在第708行第15个字符实例化非构造函数
    lightbox=新的lightbox(这个,opts.lightbox);

  • JSC非构造函数:无法在第1265行第19个字符处实例化非构造函数
    var scroller=new scroller($(this),opts);


  • 第一名:
    此警告意味着您在函数调用中传入了错误数量的参数

    这是一个更好的解释

    第2号和第3号:
    编译器希望所有构造函数都标记有JSDoc标记@constructor,如下所示:

    /**
     * @constructor
     */
    function MyClass() {
      this.foo = 'bar';
    }
    var obj = new MyClass();
    alert(obj.foo);
    

    是一个更好的解释。

    对于第一个,它希望您向parseInt传递两个参数:value和radix。对于基于10的数字(这是您的情况),您需要(实际上不需要,但它希望您)调用


    您不必指定第二个参数,但应该:“虽然此参数是可选的,但始终指定它以消除读取器混淆并保证可预测的行为。未指定基数时,不同的实现会产生不同的结果。”@lwburk:我不是说你必须指定两个参数,我是说闭包编译器希望你指定-这就是它抱怨的。请取消你的否决票。那么,如果代码是由第三方提供的,作为一个已经被混淆的库,你该怎么办?这很难,我的朋友。除了你以前的“猜测与测试”,你别无选择。使用断点并询问对象属性…猜测它们是什么并测试结果-幸运的是,您可以使用设置jscomp_off并告诉编译器忽略此要求。您可能需要关闭的特定编译器检查是globalThis和checkTypes。使用命令行参数是--jscomp_off=checkTypes--jscomp_off=globalThis并使用闭包编译器进行gulp将是jscomp_off:['globalThis','checkTypes']
    parseInt(jQuery.browser.version, 10)