首頁  >  文章  >  web前端  >  R語言中使用JavaScript的詳細講解

R語言中使用JavaScript的詳細講解

php是最好的语言
php是最好的语言原創
2018-08-04 09:16:145477瀏覽

js套件是在R中使用JavaScript的工具,實現幾個流行的JavaScript程式庫的綁定,用於編譯、驗證、重新格式化、最佳化和分析JavaScript程式碼。建立在V8套件的基礎上,可以呼叫這些函式庫

1.在R中驗證JavaScript程式碼在語法上是否正確

#js_typeof(),如果代码无效将引发SyntaxError,用于验证单个函数或对象
callback<-&#39;function test(x, y){var z = x*y ;return z;}&#39;
js_typeof(callback)  #&#39;function&#39;
js_typeof(&#39;function(x,y){return x + y}&#39;) #&#39;function&#39;
conf<-&#39;{foo : function(){},bar : 123}&#39;
js_typeof(conf) #&#39;object&#39;

#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(&#39;function(x, y){return x + y}&#39;, error = FALSE) #FALSE不允许在全局范围内定义匿名函数

2.ESprima:解析,支援ECMAScript2017並傳回由ESTree專案標準化的合理語法樹格式

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) #返回&#39;JS_EVAL&#39;类型,解析成树形结构

3.compiling coffeescript,編譯coffee script into JavaScript,程式碼一對一地編譯成等效的JS,coffeescript函數綁定到coffee script cpmpiler

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,将代码重写为更紧凑但等效的程序

4.uglify_reformat重新格式化,很適合修復空格、分號等

code <- "function test(x, y){x = x || 1; y = y || 1; return x*y;}"
cat(uglify_reformat(code, beautify = TRUE, indent_level = 2))

5.JSHint程式碼分析,自動偵測JavaScript程式碼中的錯誤和潛在問題,回傳data.frame

code <- "var foo = 123"
jshint(code)

相關文章:

r語言-R語言和MySQL還有Hadoop的教學課程哪裡找

PHP如何呼叫R語言的函數,像呼叫C語言的函數那樣

#

以上是R語言中使用JavaScript的詳細講解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn