首页 > web前端 > js教程 > 正文

R语言中使用JavaScript的详细讲解

php是最好的语言
发布: 2018-08-04 09:16:14
原创
5704人浏览过

js包是在R中使用JavaScript的工具,实现对几个流行的JavaScript库的绑定,用于编译、验证、重新格式化、优化和分析JavaScript代码。建立在V8包的基础上,可以调用这些库

1.在R中验证JavaScript代码在语法上是否正确

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

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) #返回'JS_EVAL'类型,解析成树形结构
登录后复制

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中文网其它相关文章!

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号