ホームページ >ウェブフロントエンド >jsチュートリアル >R言語でのJavaScriptの使い方を詳しく解説

R言語でのJavaScriptの使い方を詳しく解説

php是最好的语言
php是最好的语言オリジナル
2018-08-04 09:16:145512ブラウズ

js パッケージは、R で JavaScript を使用するためのツールです。これは、いくつかの一般的な JavaScript ライブラリへのバインディングを実装し、JavaScript コードのコンパイル、検証、再フォーマット、最適化、分析に使用されます。 V8 パッケージに基づいて構築されたこれらのライブラリは、

と呼ばれます。1. JavaScript コードが R

#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不允许在全局范围内定义匿名函数

で構文的に正しいことを確認します。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.coffeescriptのコンパイル、coffeeスクリプトをJavaScriptにコンパイル、コードは同等のJSに1対1でコンパイルされ、coffeescript関数は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

C 言語で関数を呼び出すのと同じように、PHP は R 言語で関数をどのように呼び出しますか

以上がR言語でのJavaScriptの使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。