|
分享例程
界面截图: |
|
备注说明: |
SOCC.js
更加方便地使用JS引擎 |
前言:
- 本程序工作量极大(上图说话:),程序并不完全由我原创,内部引用代码如下:
理念:
- SOCC.js的基本理念是实现更方便的执行JS,让普通的JS可以编写更强大的程序。
目标:
- 封装JSON(已经完成,JS实现)
- 封装XMLHttpRequest类(已经完成,支持异步使用,除了几个事件外基本和浏览器的XMLHttpRequest对象一致,native code封装)
- 自定义新函数(基本完成,仍需完善,native code封装)
- 封装console对象(已经完成,native code封装)
- 封装Compress对象(已经完成,native code封装)
- 封装FileSystem对象(已经完成,native code封装)
- 封装Base64对象(已经完成,native code封装)
- 封装Error管理,当JS代码出错时可以提示错误内容(已经完成,native code封装)
封装window对象(未完成,计划中)
封装document对象(未完成,计划中)
封装navigator对象(未完成,计划中)
封装图色对象(未完成,计划中)
封装加密解密对象(未完成,计划中)
- 不信可以看看图:
更新内容:
- 更新封装模式,采用更快捷而方便的模式重封装了XMLHttpRequest类,FileSystem对象,Base64对象,Compress对象
- 新增:FileSystem.e,Error.e,Base64.e,Compress.e,实战测试.e 等例子
- 图片:
- FileSystem:
- Error:
- 下面介绍SOCC.js已经封装的类和命令
SOCC.js:
- 封装的类以及命令的介绍:
- Base64类(本类无需使用new调用,直接使用即可):本类包括2个命令
- 命令表:
- Base64.encode()本命令包含2个参数,分别是:待编码数据 和 编码类型,本命令的返回值为String。
- 待编码数据:类型为String,表示待编码数据。
- 编码类型:类型为BOOL,为true表示编码Ansi,为false表示编码Unicode(UTF-16)
- Base64.decode()本命令包含2个参数,分别是:待解码数据 和 编码类型,本命令的返回值为String。
- 待解码数据:类型为String,表示待解码数据。
- 编码类型:类型为BOOL,为true表示编码Ansi,为false表示编码Unicode(UTF-16)
- XMLHttpRequest类(本类的封装和浏览器的XMLHttpRequest类基本一致,本类需要使用new方法调用):本类封装了5个属性,6个命令,1个事件
- 属性表:
- XMLHttpRequest.status:只读,返回一个无符号短整型数字,代表请求的响应状态。
- XMLHttpRequest.statusText:只读,返回一个 DOMString,其中包含 HTTP 服务器返回的响应状态。与 XMLHTTPRequest.status 不同的是,它包含完整的响应状态文本(例如,"200 OK")。
- XMLHttpRequest.responseXML:只读,返回一个 Document,其中包含该请求的响应,如果请求未成功、尚未发送或时不能被解析为 XML 或 HTML,则返回 null。
- XMLHttpRequest.responseText:只读,返回一个 DOMString,该 DOMString 包含对请求的响应,如果请求未成功或尚未发送,则返回 null。
- XMLHttpRequest.readyState:只读,返回 一个无符号短整型数字,代表请求的状态码。
- 命令表:
- XMLHttpRequest.abort() 如果请求已被发出,则立刻中止请求。
- XMLHttpRequest.getAllResponseHeaders() 以字符串的形式返回所有用 CRLF 分隔的响应头,如果没有收到响应,则返回 null。
- XMLHttpRequest.getResponseHeader() 返回包含指定响应头的字符串,如果响应尚未收到或响应中不存在该报头,则返回 null。
- XMLHttpRequest.open() 初始化一个请求。
- XMLHttpRequest.send() 发送请求。如果请求是异步的(默认),那么该方法将在请求发送后立即返回。
- XMLHttpRequest.setRequestHeader() 设置 HTTP 请求头的值。必须在 open() 之后、send() 之前调用 setRequestHeader() 方法。
- 事件表:
- MLHttpRequestm.onreadystatechange:当 readyState 属性发生变化时,调用的 event handler
- Compress类(数据压缩类,使用RtlCompressBuffer相关命令完成,本类需要使用new方法调用):本类封装了2个命令
- 命令表:
- Compress.Compress()(压缩数据) 本命令包含1个参数,为:Data,本命令的返回值为String(返回Base64编码后的文本)。
- Compress.Decompress()(解压数据) 本命令包含1个参数,为:Data,本命令的返回值为String(返回解压后的文本数据)。
- Data:类型为String,欲解缩的数据(只接受Base64编码后的数据,只接受Compress.Compress的压缩结果)。
- FileSystem类(文件控制类,使用CreateFile相关命令完成,本类需要使用new方法调用):本类封装了14个命令
- 命令表:
- new FileSystem()(初始化FileSystem类时即需要提供参数) 本命令包含2个参数,分别是:文件名 打开方式 共享方式,本命令的返回值为文件控制对象([Object FileSystem])。
- 文件名:类型为String,欲打开的文件名称
- 打开方式:类型为int,1、#读入,2、#写出,3、#读写,4、#重写,5、#改写,6、#改读,默认为读写
- 共享方式:类型为int,1、#无限制,2、#禁止读,3、#禁止写,4、#禁止读写,默认为 #无限制
- FileSystem.close() 本命令无参数,表示关闭使用的文件系统(内部使用CloseHandle实现),关闭后对应的文件控制对象作废,无返回值。
- FileSystem.FSeek() 本命令包含2个参数,分别是:起始移动位置 移动距离,成功返回新位置。
- 起始移动位置:类型为int,参数值指定从文件中开始移动的位置。可以为以下常量之一:1、#文件首; 2、#文件尾; 3、#现行位置。如果本参数被省略,默认值为“#文件首”
- 移动距离:类型为int,参数值指定相对于起始移动位置的移动长度。
- FileSystem.GetFileSize() 本命令无参数,表示取打开的文件的大小,返回文件大小。
- FileSystem.ReadBin() 本命令包含1个参数,为:欲读入数据的长度,成功返回读入的字节集数据(内部已经进行了一次Base64编码)。
- 欲读入数据的长度:类型为int,表示欲读入字节集的长度。
- FileSystem.WriteBin() 本命令包含1个参数,为:欲写出的字节集数据,成功返回实际写出字节数。
- 欲写出的字节集数据:类型为String,只接受Base64编码后的数据。
- FileSystem.loc() 本命令无参数,表示当前读写位置,返回当前读写位置。
- FileSystem.feof() 本命令无参数,表示当前读写位置是否在文件尾,成功返回真,失败返回假。
- FileSystem.SeekToBegin() 本命令无参数,表示移动读写位置到文件首,成功返回真,失败返回假。
- FileSystem.SeekToEnd() 本命令无参数,表示移动读写位置到文件尾,成功返回真,失败返回假。
- FileSystem.FlushFileBuffers() 本命令无参数,刷新文件内部缓冲区并将所有缓存数据写入文件,成功返回真,失败返回假。
- FileSystem.SetFileSize() 本命令包含1个参数,为:新文件大小,本命令可以扩大或者缩小文件,扩大文件操作不会修改文件内容(如果缩小文件的话多余的内容会被删除)。成功返回真,失败返回假。
- FileSystem.lock() 本命令包含2个参数,分别为:起始锁定位置 锁定字节长度,本命令可以锁定文件的指定范围,以便于对这个范围进行独占访问,成功返回真,失败返回假。
- 起始锁定位置:类型为int,锁定文件的开始位置。
- 锁定字节长度:类型为int,锁定文件的字节长度。
- FileSystem.Unlock() 本命令包含2个参数,分别为:起始解锁位置 解锁字节长度,本命令可以解除对文件指定范围的锁定,以便其他进程能访问这个区域,成功返回真,失败返回假。
- 起始解锁位置:类型为int,解锁文件的开始位置。
- 解锁字节长度:类型为int,解锁文件的字节长度。
PS:
- SOCC.js引擎是我最近封装的一个程序,可能存在一些未知的BUG,您可以在本帖反馈程序BUG
- 您也可以在帖子下面提出封装的目标(如:还可以封装什么)
程序下载:
SOCC.js.ec.zip
(2.41 MB, 下载次数: 73)
|
评分
-
查看全部评分
|