Eslint不允许内置的全局函数?

时间:2019-03-02 08:27:11

标签: javascript eslint

是否有规则禁用特定的内置JS功能?例如。我想禁用parseFloat,因为几乎从来没有parseFloat比一元+更好的情况。

1 个答案:

答案 0 :(得分:0)

您可以使用no-restricted-globals

  

如果要通过启用环境来允许一组全局变量,但仍然要禁止其中的某些全局变量,则禁止使用特定的全局变量会很有用。

     

该规则允许您指定不想在应用程序中使用的全局变量名称。

示例:

    webView = new WebView( );
    webView.setContextMenuEnabled( false );
    webView.addEventHandler( MouseEvent.MOUSE_CLICKED, this::onMouseClicked );
...
    private void onMouseClicked( MouseEvent event ) {
    WebEngine engine = webView.getEngine( );
    if( event.getButton( ) == MouseButton.SECONDARY ) {
        JSObject clientRect = ( JSObject )engine.executeScript( 
            "tinymce.activeEditor.getContentAreaContainer().getBoundingClientRect()" 
        );
        int x = ( Integer )clientRect.getMember( "left" );
        int y = ( Integer )clientRect.getMember( "top" );
        y = ( int )( event.getY( ) - y );
        x = ( int )( event.getX( ) - x );
        if( y >= 0 && x >= 0 ) {
            engine.executeScript( 
                "tinymce.activeEditor.fire('contextmenu', { bubbles: true, cancelable: false, view: window, button: 2, buttons: 0, " + 
                "clientX: " + String.valueOf( x ) + ", clientY: " + String.valueOf( y ) + " }, true);" 
            );
        }
    }
}

或者,对于更具描述性的警告:

{
  "rules": {
    "no-restricted-globals": ["parseFloat"]
  }
}