json
Josn:
JSON是一種傳輸數據的格式(以對象為樣板,本質就是對象,但用途有區別,對象就是本地用的,JSON是用來傳輸的)
Josn.parse();string-------json
Json.stringify();json-----string
其實簡單那來說json就是一種轉變的工具吧,就像你在獲取數據還是發送,你需要將數據類型改變或者傳輸什么樣,你就可以改變用它。
舉個很簡單的列子:在使用Ajax獲取數據的時候,你可能會獲取的數據類型你看不懂,但是那個數據確實又是你要的內容,但是可能是字符串之類的格式顯示的,這個時候你就可以用json去轉變它你看的懂格式,列如這個數據data,然后你就可以使用json.parse去轉換他為文字形式展示。
俗稱:json就是轉化器和解析器
異步加載js:
Js加載的缺點:加載工具方法沒必要阻塞文檔,過的js加載會影響頁面效率,一旦網速不好,那么整個網站將等待js加載而不進行后續渲染等工作。
有些工具方法需要按需加載,用到在加載,不用不加載。
Javascript異步加載的j幾種方案
Defer異步加載,但要等到dom文檔全部解析完才會被執行。只有ie能用,也可以將代碼寫到內部。
async異步加載,加載完就執行,async只能加載外部腳本,不能把js寫在script標簽里
執行時也不阻塞頁面
創建script,插入到DOM中,加載完畢后callBack【回調函數】,
Onload頁面加載完,后面才顯示
創建document對象,開始解析web頁面。解析HTML元素和他們的文本內容后添加Element對象和text節點到文本中。這個階段document。ReadyState = ‘loading’。
遇到link外部css,創建線加載,并繼續解析文檔。
遇到script外部js,并沒有設置async、defer,瀏覽器加載,并阻塞,等待js加載完成并執行腳本,然后繼續解析文檔。
遇到script外部js,并設置async、defer,瀏覽器創建線程加載,并繼續解析文檔。對于async屬性的腳本,腳本加載完成后立即執行。(異步禁止使用document.write());
遇到img等,先正常解析dom結構,然后瀏覽器異步加載src,并繼續解析文檔。
當文檔解析完成后,document。ReadyState = ‘interactive’.
文檔解析完成后,所有設置defer的腳本會按照順序執行。(注意與async的不同,但同樣禁止使用document。write)
Document對象觸發DOMcontenLoaded【這個事件只在addEventListener上作用】事件,這也標志著程序執行從同步腳本執行階段,轉化為事件驅動階段。當所有async的腳本加載完成并執行后,img等加載完成后,document。ReadyState = ‘complete’,window對象
從此,以異步響應方式處理用戶輸入、網絡事件等
js加載時間線,我舉個很簡單易懂的列子,就是,都用過淘寶吧,淘寶下面不是很多內容嗎,就是滾動條很長嗎,如果你只是單純想看上面的內容,不需要下面的內容,這個時候你就可以使用異步加載,就是等待你需要下面內容,下滑的時候,下面在加載,當你不下滑的時候,他就是處于預加載狀態,這個時候性能稍微都強一些,加入你不需要下面的內容,但是又把下面的那內容加載了,那樣很耗費性能,就是網頁可能會很卡,但是你將這種情況設置為預加載 的狀態,那樣既不耗費性能也加載的很流暢,但是這個也是有缺陷的,比如你網卡,不很好,頁面可能就會出現的不是很完美,就是有部分的渲染緩沖不出來,像那個網頁顯示的內容有很多效果,列如什么輪播,文字炫彩,但是你網絡不佳的時候,就只是單純的靜態效果,或者很普通的效果,并沒有你做的那些特效
JSON
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。