原创 封裝彈窗組件

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>封裝彈窗組件</title> <style type="tex

原创 面向對象的繼承(拷貝繼承)

什麼是繼承 在原有對象的基礎上,稍微修改後得到新的對象 不會影響原對象的功能 (子類不影響父類,子類可以繼承父類的一些功能) 屬性繼承 調用父類的構造函數,使用call方法改變this指向問題。 方法繼承

原创 CSS sticky footer

<div class="detail" v-show='detailShow'> <div class="detailWrap clearfix"> <div class="

原创 事件委託

事件委託原理: 利用冒泡的原理,把事件加到父級上,觸發執行效果。 好處: 1. 提高性能 2. 新添加的元素,還會有之前的事件 event對象事件源: 不管在哪個事件中,只要操作的那個元素就是事件

原创 快排

var arr = [1,8,9,3,7,5]; function quickSort(obj) { if (obj.length <= 1) { retu

原创 面向對象(二)

javaScript是基於原型的程序,儘量不要修改或者添加系統對象下的方法或者屬性。 push 原理 var arr = [1,2,3]; Array.prototype.push = function

原创 作用域解析及作用域鏈

預解析遇到重名,只留一個。如果與函數重名,就只留下函數。 console.log(a);// function a(){console.log(4)} var a = 1; console.log(a); //

原创 閉包

什麼是閉包 函數嵌套函數,內部函數可以引用外部函數的參數或者變量,外部函數不能引用內部函數的參數或者變量 function aaa(a) { var a = 5; function bbb() {

原创 判斷傳入的參數是否是數組

方法一: var arr = [1,2,3]; var obj = {name:'zhangsan'} console.log(Array.isArray(arr)); console.log(Array.isArray(obj)

原创 解析url

/** * 解析url參數 * @example ?id=123&a=b * @return Object {id:123,a:b} */ export function urlParse() { let

原创 數組去重

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>數組去重的4種方法</title> </head> <body>

原创 彈性盒模型(一)

彈性盒模型的父級元素必須要加display:box或者display:inline-box box-orient 定義盒模型的佈局方向 horizontal 水平顯示 vertical 垂直顯示 box-direction 元

原创 js技巧

定時器 setTimeout(function(num) { alert(num) }, 1000, 123); 字符串的拼接 window.onload = function() {

原创 面向對象的繼承(類式繼承)

類式繼承 通過構造函數繼承的方式 function Aaa() { this.name = [1,2,3]; } function Bbb() { Aaa.call(this); } function F(

原创 BOM 和 DOM

什麼是 BOM ? 1.瀏覽器對象模型 Browser Object Model 2.BOM的核心對象是window,同時window也是JavaScript的全局對象 3.BOM主要負責來對瀏覽器窗口進行操作和窗口與窗口之