999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于JavaScript File API的本地數據讀取、處理機制改進

2016-10-29 01:52:34龐聰龍坤羅棋杜瑞林
現代計算機 2016年27期
關鍵詞:數據處理

龐聰,龍坤,羅棋,杜瑞林

(1.中國地震局地震研究所,武漢 430071;2.武漢大學經濟與管理學院,武漢 430072)

基于JavaScript File API的本地數據讀取、處理機制改進

龐聰1,龍坤2,羅棋1,杜瑞林2

(1.中國地震局地震研究所,武漢 430071;2.武漢大學經濟與管理學院,武漢 430072)

隨著Web本地數據的日益增多和B/S模式下客戶端數據處理的頻繁增加,JavaScript的本地數據處理功能也得到拓展和發展。JavaScript File API雖然實現本地數據的可視化,卻不能用于實際的計算。因為result數組只是將本地文本數據以單字節的形式保存,在實際過程中result數組并沒有實際用途;利用一系列循環迭代算法,在File API基礎上進行改進,最終可以實現對本地數據的提取以及預處理,可供以后的實際計算。

JavaScript;本地數據;文件API;機制改進

0 引言

JavaScript不僅可以對服務器端數據進行讀取、處理,也可以對用戶交互數據進行操作。不過在客戶端進行數據處理一直是JavaScript的短板,尤其是對本地數據文件進行讀取、處理計算等。

本文是在JavaScript File API的基礎上,對其讀取本地數據文件時產生的單字節讀取問題進行了優化處理并對讀取到的本地數據進行了簡單的運算,最后驗證了數據的數值屬性。

1 File API

1.1FileReader

處理文件的方式曾經長期停留在使用<input type= “file”>字段方式的階段。File API不僅支持以往的<input type=“file”>方式,還增加了一些可以直接訪問文件的API接口[1],這是一種在客戶端上訪問數據較為安全的方式[2]。

File API提供的FileReader類型可以用來讀取本地文件的數據。它是一種異步文件讀取的方式,與XMLHttpRequest功能類似,只不過 XMLHttpRequest讀取的是遠程服務器,而不是 FileReader讀取的文件系統。

1.2readAsText

本文采用readAsText方法進行文件的讀取,并以純文本的方式將讀取到的文件內容保存在一個result結果中,它可以是一個數組的形式[3]。形式如下:

ReadAsText(file,encoding);//file表示文件,后面的參數表示編碼類型

1.3onload觸發事件

FileReader包含有三個主要觸發事件:onprogress、onerror、onload,分別表示在加載新文件時觸發、加載錯誤時觸發、加載完成后觸發。在實際應用中,load事件采用較多,即當讀取到file文件并完整無誤,觸發reader.onload事件函數,執行函數內部操作。

1.4測試瀏覽器是否支持文件讀取

1.5讀取本地數據

觀測數據為10組隨機小數,精確到小數點后兩位,具體數據包括:0.01,0.25,0.35,0.25,0.21,0.98,0.67,0.26,0.45,0.87

讀取本地數據時,先要獲取本地文件file的ID,然后調用FileReader屬性的ReadAsText方法,并在讀取成功時觸發function函數,最后執行內部的相關循環迭代關系式[4]。具體關鍵代碼如下:

1.6讀取結果

上述代碼在Firefox瀏覽器解釋執行后,可以得到以下的數據結果:

從上述結果可以看出,未預處理過的result數組元素讀取出來是單字節符號,它把數字、“.”以及單空格當作數組元素。這種讀取方式不能將本地數據有效數組化,不能應用到實際工程運算中。

2 修改后的本地數據讀取機制

2.1算法迭代過程

測試數據仍然采用1.5中數據。在把空格、小數點考慮為單字節數據的情況下,每個數值類數據被分割成5位單字節數據。這里,利用for循環50次、每5次取余,可實現數據的完整輸出,讀取后的結果放在數組shuju2中[5]。關鍵代碼如下:

2.2本地數據讀取結果

上述代碼在Firefox瀏覽器解釋執行后,可以得到以下的數據結果:

從上述結果可以看出,數據結果與原始的觀測數據一致,沒有出現1.6數據結果的單字節相隔情況。

2.3驗證讀取后的數據是否為數值類型

盡管觀測數據屬于數值類數據,但是經過File API讀取且迭代處理過的數組數據是否還是數值類數據就需要進一步驗證。

驗證數組數據是否為數值類型,一般常用的有兩種方式:if(typeof(x)=="number"){}和直接進行數學運算[6]。采用直接數學運算的代碼如下:

上述代碼執行后的數據運算結果如下所示:

3 結語

本文改進了使用JavaScript對本地文件數據異步讀取機制,真正實現了對本地文件數據的可操作性讀取,而不是單個字節的簡單顯現,并在最后驗證了讀取后的數組元素為數值類型。

本次研究仍然處在一些不足:

(1)計算機配置影響執行效率。JavaScript的執行是建立在瀏覽器運行基礎上的,而瀏覽器的運行速度是與運行計算機配置息息相關的,高性能多核心配置的計算機在數據處理速度方面明顯更勝一籌[7]。

(2)觀測數據量較小。本次研究只采用了10個數據量,這是比較小的。在實際應用中,一般都是百萬級別以上的海量數據,尤其在云存儲、云計算高速發展的今天。較大的數據量會影響JavaScript的運行速度,甚至造成卡死狀態。

(3)File API發展不足。文件接口技術的發展仍然處于初步發展階段,除了支持txt文件外,還支持jpg等圖片,甚至有些doc文檔。但是功能只包括文件的顯示,并不能用于文件修改/數據處理。

JavaScript在工程應用方面還有很大的發展空間,尤其是在計算領域還需要我們進一步的深入研究,將它從WebApp、網站輔助構建拓展到Web計算中去。

[1]David A.Patterson,John L.Hennessy.計算機組成與設計:硬件/軟件接口[M].北京:機械工業出版社,2011:135.

[2]Nicholas C.Zakas.JavaScript高級程序設計[M].北京:人民郵電出版社,2012:689-696.

[3]Loiane Groner.學習JavaScript數據結構與算法[M].北京:人民郵電出版社,2015:19-32.

[4]Adam Freeman.HTML5權威指南[M].人民郵電出版社.2014:86.

[5]單東林,張曉菲,魏然.鋒利的jQuery[M].北京:人民郵電出版社.2012:1-3.

[6]Douglas.JavaScript語言精粹[M].北京:電子工業出版社.2009:53.

[7]Zakas N C.高性能JavaScript[M].北京:電子工業出版社,2010:100.

Improvement of Local Data Reading and Processing Mechanism Based on File API JavaScript

PANG Cong1,LONG Kun2,LUO Qi1,DU Rui-lin1
(1.Institute of Seismology,CEA,Wuhan 430071;2.School of Economics and Management,Wuhan University,Wuhan 430072)

With the increasing number of Web local data and the frequent increase of B/S mode,the local data processing function of JavaScript has been expanded and developed.File API JavaScript to achieve the visualization of the local data,but cannot be used for the actual calculation.Due to the array result only local text data is saved in the form of single byte,in the actual process of array result and no practical use.Uses a series of cyclic iterative algorithm,makes improvement based on File API,and achieves later calculation of local data extraction and pretreatment.

JavaScript;Local Data;File API;Mechanism Improvement

1007-1423(2016)27-0040-03DOI:10.3969/j.issn.1007-1423.2016.27.010

龐聰(1992-),男,湖北棗陽人,在讀碩士研究生,研究方向為JavaScript技術、WebApp設計

龍坤(1993-),男,重慶秀山人,本科在讀,研究方向為電子商務、Web技術

羅棋(1990-),男,湖北天門人,在讀碩士研究生,研究方向為數據處理

杜瑞林(1970-),男,本科,研究員,研究方向為大地測量與地球動力學

7-05

2016-09-16

猜你喜歡
數據處理
驗證動量守恒定律實驗數據處理初探
認知診斷缺失數據處理方法的比較:零替換、多重插補與極大似然估計法*
心理學報(2022年4期)2022-04-12 07:38:02
ILWT-EEMD數據處理的ELM滾動軸承故障診斷
水泵技術(2021年3期)2021-08-14 02:09:20
ADS-B數據處理中心的設計與實現
電子測試(2018年4期)2018-05-09 07:28:12
MATLAB在化學工程與工藝實驗數據處理中的應用
基于希爾伯特- 黃變換的去噪法在外測數據處理中的應用
大數據處理中基于熱感知的能源冷卻技術
計算機工程(2015年4期)2015-07-05 08:28:04
Matlab在密立根油滴實驗數據處理中的應用
數據處理能力在求職中起關鍵作用
我國首個“突發事件基礎數據處理標準”發布
主站蜘蛛池模板: 国产精品内射视频| 国产XXXX做受性欧美88| 一本大道香蕉高清久久| 亚洲国产成人无码AV在线影院L| 一区二区自拍| 亚洲色图欧美在线| 亚洲天堂高清| 精品久久777| 亚洲日本www| 国产97视频在线| 99热国产这里只有精品9九| 欧美国产综合色视频| 国产区福利小视频在线观看尤物| 国产黄网站在线观看| 国产情侣一区| 国产成人无码综合亚洲日韩不卡| 97视频免费看| 国产欧美视频一区二区三区| 色香蕉影院| 一级毛片基地| av在线人妻熟妇| 亚洲精品无码久久久久苍井空| 男人天堂伊人网| 丁香婷婷激情综合激情| 国产美女叼嘿视频免费看| 91精品aⅴ无码中文字字幕蜜桃| 日韩欧美国产综合| 99久久精品免费看国产免费软件| 日本福利视频网站| av无码久久精品| 欧美人人干| 免费又黄又爽又猛大片午夜| 国产天天色| 大香伊人久久| 欧美国产日韩在线| 欧美高清国产| 免费人成在线观看成人片| 国产精品v欧美| 亚洲国产在一区二区三区| 无遮挡国产高潮视频免费观看 | 国产打屁股免费区网站| 亚洲视频在线青青| 看国产一级毛片| 亚洲第一成人在线| 国产高清在线精品一区二区三区 | 国产情精品嫩草影院88av| 欧美a在线看| 国产午夜人做人免费视频中文 | 国产精品视频久| 美女高潮全身流白浆福利区| 国产日韩精品一区在线不卡| 国产主播喷水| 日韩欧美高清视频| 欧美午夜在线视频| 亚洲中文无码av永久伊人| 国产男人天堂| 99精品视频在线观看免费播放| 青青草一区二区免费精品| 久久这里只有精品国产99| 97久久超碰极品视觉盛宴| 欧美精品在线看| 99精品免费欧美成人小视频| 国产微拍精品| 人妻丰满熟妇αv无码| 久一在线视频| 亚洲欧美不卡| 亚洲国产欧美国产综合久久| 九九久久精品免费观看| 欧美精品在线免费| 99在线视频精品| 狠狠综合久久| 国产激情无码一区二区三区免费| 久久人与动人物A级毛片| 中文字幕66页| 国产一级毛片网站| 美女无遮挡免费视频网站| 国产第四页| 欧美日韩国产系列在线观看| 97精品伊人久久大香线蕉| 在线欧美日韩| 手机在线国产精品| 国内熟女少妇一线天|