原创 ES5和ES6如何實現繼承

ES5繼承 es5的繼承方式有很多種,原型鏈繼承、組合式繼承、寄生組合繼承,相比來說寄生組合式繼承集組合式繼承和寄生式繼承的優點於一身,是ES5中,基於類型繼承的最有效方式。 寄生組合式繼承 function inserit(son,

原创 如何實現一個完整的深拷貝

淺拷貝和深拷貝 淺拷貝:創建一個新對象,這個對象有着原始對象屬性值的一份精確拷貝。如果屬性是基本類型,拷貝的就是基本類型的值,如果屬性是引用類型,拷貝的就是內存地址 ,所以如果其中一個對象改變了這個地址,就會影響到另一個對象。 深拷貝:

原创 JS-單體模式

介紹 單體模式是JavaScript中比較簡單的且常用的模式。單體模式思想在於保證一個特定類僅有一個實例,意味着當你第二次使用同一個類創建信對象時,應得到和第一次創建對象完全相同。 優點 1.可以用來劃分命名空間,減少全局變量的數量 2.

原创 JS中this、apply、call、bind

this指向 記住一句:this永遠指向在執行時最後調用它的對象,舉幾個栗子瞭解一下 栗子1 function a(){ var user = "CXK"; console.log(this.user); //undef

原创 webpack的loader和plugin

webpack是一個模塊打包器,loader和plugin可以擴展很多開箱即用的功能 loader Loader讓webpack能夠處理不同的文件。loader可以將所有類型的文件轉換爲webpack能夠處理的有效模塊,然後利用webpa

原创 Web安全(二)

SQL注入 基本概念 SQL 注入漏洞(SQL Injection)是 Web 開發中最常見的一種安全漏洞。可以用它來從數據庫獲取敏感信息,或者利用數據庫的特性執行添加用戶,導出文件等一系列惡意操作,甚至有可能獲取數據庫乃至系統用戶最高權

原创 JS經典面試題-下面代碼輸出什麼

for (var i = 0; i < 3; i++) { setTimeout(() => console.log(i), 1); } for (let i = 0; i < 3; i++) { setTimeout(()

原创 Vue.use和Vue.prototype

import Vuex from 'vuex' Vue.use(Vuex) // vuex本質上也是vue的一個插件 import utils from '../src/utils' // 工具函數 Vue.prototype.$uti

原创 JS-代理模式

介紹 代理是一個對象,它可以用來控制對本體對象的訪問,它與本體對象實現了同樣的接口,代理對象會把所有的調用方法傳遞給本體對象的;代理模式最基本的形式是對訪問進行控制,而本體對象則負責執行所分派的那個對象的函數或者類,簡單的來講本地對象注重

原创 JS-裝飾器模式

介紹 在不改變類或對象自身的基礎上,在程序的運行期間動態的添加職責。與繼承相比,裝飾者是一種更輕便靈活的做法。 這裏不要和之前講的代理模式搞混,代理模式主要是對直接訪問本體不方便或者不符合需要的時候提供一個代替者;裝飾者模式 主要是爲對象

原创 JS-策略模式

介紹  定義一系列的算法,把它們一個個封裝起來,將不變的部分和變化的部分隔開,實際就是將算法的使用和實現分離出來; 策略模式由兩部分構成:一部分是封裝不同策略的策略組,另一部分是 Context。通過組合和委託來讓 Context 擁有執

原创 Web安全(一)

在 Web 安全領域中,XSS 和 CSRF 是最常見的攻擊方式。 xss攻擊 基本概念 XSS,即 Cross Site Script,中譯是跨站腳本攻擊;其原本縮寫是 CSS,但爲了和層疊樣式表(Cascading Style She

原创 前端跨域之PostMessage詳解

window.postMessage() 方法可以安全地實現跨源通信。通常,對於兩個不同頁面的腳本,只有當執行它們的頁面位於具有相同的協議(通常爲https),端口號(443爲https的默認值),以及主機  (兩個頁面的模數 Docum

原创 JS閉包與內存泄露

鏈式作用域: 子對象會一級級地向上尋找所有父對象的變量。所以,父對象的所有變量對子對象都是可見的,反之則不成立。 var n=999; function f1(){   alert(n); } f1(); // 999 functio

原创 vue項目性能優化總結

vue作爲目前主流的前端框架,在github上擁有147kstar,作爲vue開發大軍的一員這篇文章分享一下自己使用過程中的主要針對vue項目的一些優化經驗,歡迎大家一起交流(持續更新中......)   一.代碼優化 1.v-if和v-