亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        JavaScript的內(nèi)存溢出與內(nèi)存泄漏

        2019-12-20 03:04:57饒佳冬趙綠草
        鋒繪 2019年11期
        關(guān)鍵詞:腳本語(yǔ)言

        饒佳冬 趙綠草

        摘 要:JavaScript(簡(jiǎn)稱JS)是一種非常流行的腳本語(yǔ)言,是一種具有動(dòng)態(tài)類型的、弱數(shù)據(jù)類型的、基于原型的語(yǔ)言。JS廣泛應(yīng)用于HTML和Web開(kāi)發(fā),它常常用來(lái)給HTML網(wǎng)頁(yè)添加多種多樣的動(dòng)態(tài)的效果,同時(shí)為用戶提供更加舒適美觀的瀏覽效果。

        關(guān)鍵詞:JS;腳本語(yǔ)言; HTML

        1 JavaScript的語(yǔ)言特點(diǎn)及用途

        一個(gè)完整的JS是由ECMAScript、DOM、BOM這三部分組成。ECMAScript是標(biāo)準(zhǔn),它描述JS的語(yǔ)法和基本對(duì)象;DOM是文檔對(duì)象模型,它提供了一組用來(lái)操作網(wǎng)頁(yè)的對(duì)象和接口;BOM是瀏覽器對(duì)象模型,它提供了一組用來(lái)操作瀏覽器的對(duì)象和與瀏覽器進(jìn)行交互的接口。

        JS具有以下幾個(gè)特點(diǎn):

        (1)解釋型的語(yǔ)言:JS代碼寫完了不用進(jìn)行編譯直接運(yùn)行。不像Java等語(yǔ)言寫完還需要編譯才能運(yùn)行。

        (2)類似與C和Java的語(yǔ)法結(jié)構(gòu)

        (3)動(dòng)態(tài)語(yǔ)言:即JS變量的值比較任意,可以保存任意類型的數(shù)據(jù)。

        (4)基于原型的面向?qū)ο螅簩?duì)象創(chuàng)建的方式根本上只有一種,就是以原型對(duì)象為模板創(chuàng)建對(duì)象,newObject=create(oldObject)。

        2 JavaScript的內(nèi)存溢出

        JS的內(nèi)存溢出,指當(dāng)程序運(yùn)行需要的內(nèi)存超過(guò)了剩余內(nèi)存時(shí)就會(huì)拋出內(nèi)存溢出的錯(cuò)誤,它是一種程序運(yùn)行過(guò)程中出現(xiàn)的錯(cuò)誤。例如:用JS寫一個(gè)千萬(wàn)級(jí)別的循環(huán),然后用瀏覽器打開(kāi)運(yùn)行,則瀏覽器會(huì)非常的卡,甚至?xí)苯訄?bào)內(nèi)存不足,崩潰了的錯(cuò)誤。

        3 JavaScript的內(nèi)存泄漏

        JS的內(nèi)存泄漏,指程序不再用到的內(nèi)存,而沒(méi)有及時(shí)進(jìn)行釋放。程序運(yùn)行的過(guò)程中,只要程序提出要求,那么操作系統(tǒng)就必須提供內(nèi)存。對(duì)于持續(xù)運(yùn)行的服務(wù)進(jìn)程,必須要及時(shí)釋放不再用到的內(nèi)存。否則,占用的內(nèi)存會(huì)越來(lái)越高,輕則影響系統(tǒng)性能,重則導(dǎo)致進(jìn)程崩潰。

        常見(jiàn)的內(nèi)存泄漏:

        3.1 意外的全局變量

        1圖中的變量a就會(huì)導(dǎo)致內(nèi)存泄漏。當(dāng)全局變量用于臨時(shí)存儲(chǔ)和處理大量信息時(shí),需要謹(jǐn)慎一點(diǎn)。如果一定要用全局變量存儲(chǔ)大量數(shù)據(jù)時(shí),確保把它使用完之后把它設(shè)置為null或者重新定義。

        3.2 沒(méi)有及時(shí)清理計(jì)時(shí)器或回調(diào)函數(shù)

        圖2中啟動(dòng)循環(huán)定時(shí)器后沒(méi)有清理定時(shí)器,會(huì)產(chǎn)生內(nèi)存泄漏的問(wèn)題。

        3.3 閉包

        圖3中的變量a被閉包所引用,但是它不會(huì)被回收,也產(chǎn)生了內(nèi)存泄漏。閉包是JS開(kāi)發(fā)的一個(gè)重要方面,匿名函數(shù)可以訪問(wèn)父級(jí)作用域里的變量。

        為了避免內(nèi)存泄漏,程序員在JS開(kāi)發(fā)過(guò)程中應(yīng)減少不必要的全局變量或者生命周期較長(zhǎng)的對(duì)象,及時(shí)對(duì)無(wú)用的數(shù)據(jù)進(jìn)行回收;注意程序的邏輯,避免死循環(huán)同時(shí)避免創(chuàng)建過(guò)多的對(duì)象,不用的東西要及時(shí)回收。

        4 結(jié)語(yǔ)

        本文主要研究了JS的內(nèi)存溢出和內(nèi)存泄漏的部分內(nèi)容,內(nèi)存泄漏每個(gè)JS開(kāi)發(fā)者都要面對(duì)的問(wèn)題,在JS開(kāi)發(fā)過(guò)程中我們深刻理解內(nèi)存泄漏從而盡量避免,這樣我們才能開(kāi)發(fā)出邏輯嚴(yán)謹(jǐn)?shù)某绦?,讓我們能早日成為JS高級(jí)工程師。

        參考文獻(xiàn)

        [1]鄭明秋.基于對(duì)象的JavaScript語(yǔ)言的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)產(chǎn)品與流通,2018,(11).

        [2]李曉薇.JavaScript在動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)中的應(yīng)用研究[J].信息系統(tǒng)工程,2019,(1).

        猜你喜歡
        腳本語(yǔ)言
        基于JavaScript在Web設(shè)計(jì)中應(yīng)用
        一種基于腳本的文書柔性生成技術(shù)
        淺談自動(dòng)編程后處理插件與機(jī)床匹配
        一種面向SSC的電信增值業(yè)務(wù)的生成方法及實(shí)現(xiàn)
        基于Unity3D的坦克大戰(zhàn)游戲設(shè)計(jì)與實(shí)現(xiàn)
        網(wǎng)站服務(wù)器維護(hù)措施探究
        測(cè)控設(shè)備運(yùn)行流程遠(yuǎn)程定制技術(shù)研究
        淺析計(jì)算機(jī)技術(shù)在flash動(dòng)畫中的應(yīng)用
        基于FLASH AS 3的曲柄搖桿機(jī)構(gòu)動(dòng)畫制作與分析
        基于ABAQUS二次開(kāi)發(fā)的旋壓參數(shù)化加工研究
        精品亚洲av乱码一区二区三区| 99久久久精品免费香蕉| 国产亚洲成年网址在线观看| 亚洲无人区乱码中文字幕动画 | 国产成人自拍视频在线免费| 激情五月天色婷婷久久| 亚洲av综合av一区| 又粗又大又黄又爽的免费视频 | 国内精品九九久久久精品| 国产粉嫩嫩00在线正在播放| 论理视频二区三区四区在线观看| 色先锋av影音先锋在线| 亚洲欧美日韩在线观看一区二区三区| 欧美a级毛欧美1级a大片免费播放| 日韩无码无播放器视频| 蜜桃网站在线免费观看视频| 精品一区二区三区蜜桃麻豆| 日韩av东京社区男人的天堂| 国内精品一区视频在线播放| 亚洲精品一区二区视频| 免费国产在线视频自拍白浆| 国产青草视频在线观看| 伊人亚洲综合网色AV另类| 性感的小蜜桃在线观看| 人妻少妇精品无码专区| 国产黑色丝袜在线观看下| 亚洲精品久久久中文字| 国产精品主播在线一区二区| 国产精品无码av天天爽| 亚洲av影院一区二区三区四区| 亚洲白嫩少妇在线喷水| 人人爽人人爽人人片av| 宅男噜噜噜| 人妻系列少妇极品熟妇| 日韩精品无码一区二区三区四区| 女人夜夜春高潮爽a∨片传媒| 国产免费一区二区av| 亚洲人成综合第一网站| 99久久精品费精品国产一区二区 | 久久人妻av无码中文专区| 亚洲精品中文字幕视频色|