成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

前端入坑體驗(yàn)與分享

hss01248 / 1784人閱讀

摘要:同源策略同源策略是一種約定,由公司年引入瀏覽器,它是瀏覽器最核心也最基本的安全功能,如果缺少了同源策略,瀏覽器很容易受到等攻擊。

一、Vue變化檢測(cè)

背景
初始化對(duì)象,屬性未知;某些事件觸發(fā)時(shí),對(duì)象改變(新增屬性),Vue監(jiān)聽不到

原因
Vue.js 不能檢測(cè)到對(duì)象屬性的添加或刪除,因?yàn)閂ue.js 在初始化實(shí)例時(shí)將屬性轉(zhuǎn)為 getter/setter,所以屬性必須在 data 對(duì)象上才能讓 Vue.js 轉(zhuǎn)換它,才能讓它是響應(yīng)的。

官方說(shuō)明

https://v1-cn.vuejs.org/guide/reactivity.html

解決方案
創(chuàng)建一個(gè)新的對(duì)象,包含原對(duì)象的屬性和新的屬性:

二、Vuex狀態(tài)持久化

背景
后臺(tái)管理系統(tǒng)中,用戶點(diǎn)擊上方一級(jí)菜單,獲取左側(cè)二級(jí)菜單,同時(shí)將當(dāng)前菜單存到Vuex中;刷新頁(yè)面時(shí),存儲(chǔ)狀態(tài)消失

原因
JavaScript代碼是運(yùn)行在內(nèi)存中的,代碼運(yùn)行時(shí)的所有變量,函數(shù),也都是保存在內(nèi)存中的。刷新頁(yè)面,以前申請(qǐng)的內(nèi)存被釋放,重新加載腳本代碼,變量重新賦值,所以這些數(shù)據(jù)要想儲(chǔ)存就必須儲(chǔ)存在外部,例如:Local Storage, Session Storage等。這些是瀏覽器提供的API,可以將數(shù)據(jù)儲(chǔ)存在硬盤上,做持久化儲(chǔ)存。

解決方案
vuex-persistedstate
vuex-persistedstate uses the browser"s local storage to persist your state across sessions

三、Vue2.0過(guò)濾器

Vue2.0將插入文本之外的過(guò)濾器移除了

Vue2.0中,過(guò)濾器只能用在插入文本中 ({{ }} tags)。在指令 (如:v-model,v-on等) 中使用過(guò)濾器使事情變得更復(fù)雜。像v-for 這樣的列表過(guò)濾器最好把處理邏輯作為一個(gè)計(jì)算屬性放在 js 里面,這樣就可以在整
個(gè)模板中復(fù)用

參考:https://cn.vuejs.org/v2/guide...

四、Js深拷貝淺拷貝

背景
項(xiàng)目中,對(duì)接收到的數(shù)據(jù)對(duì)象直接拷貝,處理后,提交到服務(wù)器,發(fā)現(xiàn)組裝數(shù)據(jù)時(shí),子類改變后,父類也改變了。

原因
在js中,對(duì)于非基本類型數(shù)據(jù)(普通對(duì)象或數(shù)組),淺拷貝只是拷貝了內(nèi)存地址,修改新對(duì)象會(huì)導(dǎo)致原對(duì)象被修改

解決方案
深拷貝:深拷貝會(huì)另外創(chuàng)造一個(gè)一模一樣的對(duì)象,新對(duì)象跟原對(duì)象不共享內(nèi)存,修改新對(duì)象不會(huì)改到原對(duì)象

常見淺拷貝方式
(1)直接復(fù)制
(2)Object.assign

 這是是ES6的新函數(shù),此方法可以把任意多個(gè)的源對(duì)象自身的可枚舉屬性拷貝給目標(biāo)對(duì)象,然后返回目標(biāo)對(duì)象。但是?Object.assign()?進(jìn)行的是淺拷貝,拷貝的是對(duì)象的屬性的引用,而不是對(duì)象本身。

需要注意的是:

Object.assign()可以處理一層的深度拷貝
![圖片描述][3]

常見深拷貝方式

(1)轉(zhuǎn)成?JSON?再轉(zhuǎn)回來(lái)

用JSON.stringify把對(duì)象轉(zhuǎn)成字符串,再用JSON.parse把字符串轉(zhuǎn)成新的對(duì)象。
壞處:這種發(fā)放會(huì)拋棄對(duì)象的constructor。也就是深拷貝之后,不管這個(gè)對(duì)象原來(lái)的構(gòu)造函數(shù)是什么,在深拷貝之后都會(huì)變成Object。這種方法能正確處理的對(duì)象只有?Number, String, Boolean, Array, 扁平對(duì)象,即那些能夠被 json 直接表示的數(shù)據(jù)結(jié)構(gòu)。RegExp對(duì)象是無(wú)法通過(guò)這種方式深拷貝。也就是說(shuō),只有可以轉(zhuǎn)成JSON格式的對(duì)象才可以這樣用,像function沒辦法轉(zhuǎn)成JSON。

可以看到:要復(fù)制的function會(huì)直接消失,所以這個(gè)方法只能用在單純只有數(shù)據(jù)的對(duì)象。

(2)遞歸拷貝

 ![圖片描述][5]

(3)使用Object.create()方法

 ![圖片描述][6]

(4)jquery?有提供一個(gè)$.extend可以用來(lái)做深拷貝
(5)loads:函數(shù)庫(kù)lodash也有提供_.cloneDeep用來(lái)做深拷貝。

![圖片描述][7]![圖片描述][8]
五、跨域

概念
跨域是指一個(gè)域下的文檔或腳本試圖去請(qǐng)求另一個(gè)域下的資源,這里跨域是廣義的。
廣義的跨域:
1.) 資源跳轉(zhuǎn): A鏈接、重定向、表單提交
2.) 資源嵌入:

跨域解決方案
1、 通過(guò)jsonp跨域
2、 document.domain + iframe跨域
3、 location.hash + iframe
4、 window.name + iframe跨域
5、 postMessage跨域
6、 跨域資源共享(CORS)
7、 nginx代理跨域
8、 nodejs中間件代理跨域
9、 WebSocket協(xié)議跨域
參考:https://segmentfault.com/a/11...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/95562.html

相關(guān)文章

  • 前端入坑指南

    摘要:作為自學(xué)兩年的初級(jí)前端,希望對(duì)那些想入門前端開發(fā)的人分享一些觀點(diǎn)。尤其是這幾年前端領(lǐng)域飛速的發(fā)展,新東西層出不窮?;蛘哧P(guān)注下我的微信公眾號(hào)前端獲取每天分享前端入門知識(shí)。為什么選擇前端 做一件事之前最好問問自己為什么要做,然后再去思考該怎么做。如果只是看到別人做了,并且有很不錯(cuò)的收入,然后自己就決定做了,很可能中途放棄浪費(fèi)掉很多時(shí)間。起碼問自己一個(gè)問題:我是否真的熱愛這個(gè)領(lǐng)域,并且很樂意在這個(gè)...

    junnplus 評(píng)論0 收藏0
  • 【Electron】酷家樂客戶端開發(fā)實(shí)踐分享入坑

    摘要:系列文章酷家樂客戶端開發(fā)實(shí)踐分享入坑篇酷家樂客戶端開發(fā)實(shí)踐分享軟件自動(dòng)更新酷家樂客戶端開發(fā)實(shí)踐分享瀏覽器啟動(dòng)客戶端酷家樂客戶端開發(fā)實(shí)踐分享進(jìn)程通信酷家樂客戶端開發(fā)實(shí)踐分享下載管理器不定期更新本文的初衷所使用的技術(shù)棧和前端工程師完美契合。 作者:鐘離,酷家樂PC客戶端負(fù)責(zé)人原文地址:https://webfe.kujiale.com/electron-ku-jia-le-ke-hu-d...

    jay_tian 評(píng)論0 收藏0
  • 【Electron】酷家樂客戶端開發(fā)實(shí)踐分享入坑

    摘要:系列文章酷家樂客戶端開發(fā)實(shí)踐分享入坑篇酷家樂客戶端開發(fā)實(shí)踐分享軟件自動(dòng)更新酷家樂客戶端開發(fā)實(shí)踐分享瀏覽器啟動(dòng)客戶端酷家樂客戶端開發(fā)實(shí)踐分享進(jìn)程通信酷家樂客戶端開發(fā)實(shí)踐分享下載管理器不定期更新本文的初衷所使用的技術(shù)棧和前端工程師完美契合。 作者:鐘離,酷家樂PC客戶端負(fù)責(zé)人原文地址:https://webfe.kujiale.com/electron-ku-jia-le-ke-hu-d...

    TwIStOy 評(píng)論0 收藏0
  • Vert.x入坑須知(4)

    摘要:主要是避免引入太多的復(fù)雜性,并且出于靈活部署的需要。以應(yīng)用為例,由于實(shí)際上是在上執(zhí)行,若它被阻塞,即導(dǎo)致后續(xù)請(qǐng)求全部無(wú)法得到處理。因此,最合適的做法就是對(duì)于簡(jiǎn)單業(yè)務(wù),采用異步庫(kù)。本系列其他文章入坑須知入坑須知入坑須知 最開始覺得這個(gè)系列也就最多3篇了不起了(因?yàn)槭虏贿^(guò)三嘛),沒曾想居然迎來(lái)了第四篇! Kotlin 由于最近決定投身到區(qū)塊鏈的學(xué)習(xí)當(dāng)中的緣故,出于更好的理解它的基本概念,自...

    summerpxy 評(píng)論0 收藏0
  • Electron,從玩玩具的心態(tài)開始,到打造出一款越來(lái)越優(yōu)秀的桌面客戶端產(chǎn)品

    摘要:首發(fā)于酷家樂前端博客標(biāo)題是我以第一視角基于開發(fā)客戶端產(chǎn)品的體驗(yàn),我將在之后分一系列文章向有興趣的朋友一步一步介紹我是怎么從玩玩具的心態(tài)開始接觸到去開發(fā)客戶端產(chǎn)品,最后隨著業(yè)務(wù)和功能的復(fù)雜度提升再不斷地優(yōu)化客戶端。 首發(fā)于酷家樂前端博客 標(biāo)題是我以第一視角基于 Electron 開發(fā)客戶端產(chǎn)品的體驗(yàn),我將在之后分一系列文章向有興趣的朋友一步一步介紹我是怎么從玩玩具的心態(tài)開始接觸 Ele...

    Markxu 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<