。emmm,不存在的。做不到的。

但是,你可以继续往下阅读,或许能实现你想要的功能。

前言:一般我们需要用js来实现文件读写,都是一些比较小的,离线的应用(因为如果可以联网,什么json什么db都任意操作再也没那么多麻烦事情了)。

但是,就是只能离线,还就想要把js运行过程中生产的数据保存到文本文件中,要怎么办呢?

js是不能直接读写文件的。我先下面要介绍的方法,只能实现把数据存下来(或许称之为下载比较合适),没办法直接读取文件,一般的数据都需要直接写死在js中。

正文:我介绍一个js文件:debugout.js

它可以实现:把js中的数据,通过日志输出,然后再把日志文件下载下来。

怎么用?

跟普通的console.log()类似。我们用它来代替console.log().

首先定义一个全局的

var bugout = new debugout();

然后在需要日志输出的地方:

 // console.log("已中奖:" + targeted) 这个就不需要啦
bugout.log("已中奖:" + targeted);

最后,完成数据的生产,在需要下载数据的地方:

bugout.downloadLog();

浏览器就会自动下载日志文件。下载的路径就跟你用浏览器下载别的文件是一样的。以上就是实现了基本的功能。

ps:同时,在console中,也会像普通的console.log()一样有输出哦,因为在调用log方法的时候,也执行了以下语句:)

if (self.realTimeLoggingOn) console.log(obj);

除此之外,介绍一下别的功能。

emm,先写作业,有空再介绍。。。

——————————

作业写完啦~

接着介绍吧。

打开js文件,可以看到我们可以使用这些方法。

this.log = function(obj)

  用于日志输出(相当于console.log的功能),同时把日志信息追加到local数据缓冲区。

this.clear = function()

  清除日志。是指把数据缓冲区的日志清除掉,不会影响控制台console的输出。也就是说,之前log到缓冲区的数据,不想要了,可以用clear清除(清除所有的数据哦)。

this.getSlice = function(lineNumber, numLines) 

  这个方法的作用是返回数据缓冲区的数据。指定数据的起始行(下标从0开始)和数据行数。(意思是这个意思,但是实际测试时候,起始行需要注意,你的log是从第三行开始,也即起始下标为2)。比如:bugout.getSlice(3,3)。返回的是从第四行数据开始的三行数据。下图中,“”我是日志66“”实际上是数据缓冲区的第三行(下标为2)的数据。所以linenumber是按照下标来的。

this.search = function(string) 

  从所有log进去的数据行中搜索,并返回包含查询字符串的行。例如:

this.tail = function(numLines)

  emmm熟悉python熟悉linux等等都知道tail干嘛的。对,没错,就是你想的那样。返回最后n行数据。

this.getLog = function()

  返回所有的log数据。我们可以看一下截图,就会发现有用的东西。

  是的,下标为1和7的行是空行。

//最后说这个
this.downloadLog = function()

  调用自动下载

 先知道怎么用,有时间过来研究怎么实现的。

参考链接:https://segmentfault.com/a/1190000009426931

欢迎关注微信公众号“ **IT客**“ ,投稿邮箱 itkeyy@163.com

最新文章

  1. expression<Func<object,Bool>> 及 Func<oject,bool>用法
  2. 最值得学习的10个C语言开源项目
  3. jquery之别踩白块游戏的实现
  4. IIS服务器下301跳转是怎么样实现的?
  5. 笨小猴 2008年NOIP全国联赛提高组
  6. Java 第四天 Mysql
  7. PHP弱类型安全问题笔记
  8. C#基础|面向对象之多态
  9. java反射新的应用
  10. Android之——Fragment生命周期(日志截图版)
  11. java插入字符串
  12. MyEclipse2015 javaweb项目从svn检出后变成java项目,clean之后不能编译,解决办法是
  13. 智能指针shared_ptr
  14. redis4.0 集群,jedis客户端连接配置
  15. 注意SSIS中的DT_NUMERIC类型转换为字符类型(比如DT_WSTR)时,会截断小数点前的0
  16. 解决com.fasterxml.jackson.databind.JsonMappingException: No suitable
  17. Oracle 中的SELECT 关键字(查询、检索)
  18. Tomcat简介
  19. 【C++ Primer | 19】运行类型识别
  20. [LeetCode] 788. Rotated Digits_Easy tag: **Dynamic Programming

热门文章

  1. Android官方命令深入分析之Device Monitor
  2. Ubuntu14.04安装配置星际译王词典
  3. cd 命令的具体使用说明
  4. Python基础 语法特别注意笔记(和Java相比)
  5. 小强的HTML5移动开发之路(2)——HTML5的新特性
  6. Android官方技术文档翻译——Gradle 插件用户指南(4)
  7. JSP 对象的作用范围
  8. android ndk编译项目(android-ndk-16r1)
  9. 算法面试题-leetcode学习之旅(二)
  10. Java集合之Map