Heim >Web-Frontend >js-Tutorial >Detaillierte Erläuterung der Verwendung von JavaScript in der R-Sprache
Das js-Paket ist ein Tool zur Verwendung von JavaScript in R. Es implementiert Bindungen an mehrere gängige JavaScript-Bibliotheken und wird zum Kompilieren, Überprüfen, Neuformatieren, Optimieren und Analysieren von JavaScript-Code verwendet. Basierend auf dem V8-Paket können diese Bibliotheken aufgerufen werden
#js_typeof(),如果代码无效将引发SyntaxError,用于验证单个函数或对象 callback<-'function test(x, y){var z = x*y ;return z;}' js_typeof(callback) #'function' js_typeof('function(x,y){return x + y}') #'function' conf<-'{foo : function(){},bar : 123}' js_typeof(conf) #'object' #JavaScript程序验证:由JavaScript语句集合组成,用js_validate_script()函数 jscode<-readLines(system.file("js/uglify.min.js",package="js"),warn=FALSE) js_validate_script(jscode) #TRUE js_validate_script('function(x, y){return x + y}', error = FALSE) #FALSE不允许在全局范围内定义匿名函数
esprima_tokenize(text,range=FALSE,loc=FALSE,comment=FALSE) #返回data.frame text:JavaScript代码的字符向量,range:以0为基准注释每个标签的起始位置+结束位1:300,loc:注释每个标签起始行+起始列+终止行+终止列的位置,numeric类型 esprima_parse(text,jsx = FALSE,range = FALSE,loc = FALSE,tolerant = FALSE,tokens = FALSE,comment = FALSE) #返回'JS_EVAL'类型,解析成树形结构
cat(coffee_compile("square = (x) -> x * x")) cat(coffee_compile("square = (x) -> x * x",bare=T)) demo<-readLines(system.file("example/demo.coffee", package = "js")) cat(demo, sep = "\n") js<-coffee_compile(demo) #输出js脚本 cat(js) uglify_optimize(js) #压缩js,将代码重写为更紧凑但等效的程序
code <- "function test(x, y){x = x || 1; y = y || 1; return x*y;}" cat(uglify_reformat(code, beautify = TRUE, indent_level = 2))
code <- "var foo = 123" jshint(code)
Verwandte Artikel:
r-Sprache – wo Sie Lehrkurse zu R-Sprache, MySQL und Hadoop finden
Wie man R aufruft Sprache in PHP-Funktion, wie das Aufrufen einer Funktion in der C-Sprache
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verwendung von JavaScript in der R-Sprache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!