
JS
林毅洋
这个作者很懒,什么都没留下…
展开
-
BFC
具有 BFC 特性的元素可以看作是隔离了的独立容器,容器里面的元素不会在布局上影响到外面的元素,并且 BFC 具有普通容器所没有的一些特性。触发 BFCbody 根元素浮动元素:float 除 none 以外的值绝对定位元素:position (absolute、fixed)display 为 inline-block、table-cells、flexoverflow 除了 visible 以外的值 (hidden、auto、scroll)...原创 2020-11-16 10:59:27 · 404 阅读 · 0 评论 -
JS继承
JS继承方式JS作为面向对象的弱类型语言,继承也是其非常强大的特性之一。那么如何在JS中实现继承呢?JS实现继承有多重方式,但是没中方式都有优缺点。常见的继承方法有:原型链继承构造继承实例继承拷贝继承组合继承寄生组合继承ES6-Class-Extends父类首先我们先定义一个父类,实现代码如下:function Animal( name="Animal" ){ // 属性 this.name = name; // 实例方法原创 2020-11-14 17:32:09 · 451 阅读 · 0 评论 -
[JS]手写new
new到底做了哪些事情(1) 创建一个新对象;(2) 将构造函数中的this指向该对象(3) 执行构造函数中的代码(为这个新对象添加属性) ;(4) 返回新对象。手写newfunction _new(obj, ...rest){ // 基于obj的原型创建一个新的对象 const newObj = Object.create(obj.prototype); // 添加属性到新创建的newObj上, 并获取obj函数执行的结果. const result = ob原创 2020-11-14 09:52:36 · 1526 阅读 · 0 评论 -
js 手写快拍
function quickSort( _arr ){ if( _arr.length <= 1 ) return _arr; let pivotIndex = Math.floor( _arr.length / 2 ); let pivot = _arr.splice( pivotIndex, 1 )[0]; let left = []; let right = []; for( let i=0;i<_arr.length;i++ ){ if( _arr[i] <=原创 2020-11-06 14:45:36 · 227 阅读 · 0 评论 -
使用JS模拟键盘、鼠标操作
//只在chrome测试过,大部分应用场景在webkit,所以不做其他兼容// 模拟键盘输入window.inputValue = function (dom, st) { var evt = new InputEvent('input', { inputType: 'insertText', data: st, dataTransfer: null, isComposin...原创 2020-02-19 14:44:30 · 4910 阅读 · 0 评论 -
Javascript 函数防抖与函数节流
Javascript 防抖与节流函数防抖(Debounce)debounce: 事件触发停止一定时间后才会执行响应的函数,期间如果重复调用动作,重新计算时间。本质上是将多次操作合并为一次操作。可用一个定时器维护,事件触发后wait时间内如果事件重复触发事件,那么取消当前定时器,重新设置一个时延为wait的定时器。function debounce(fn,wait){ var timer...原创 2019-10-11 04:51:20 · 205 阅读 · 0 评论 -
【转】微信小程序也要强行热更代码,鹅厂不服你来肛我呀
点击查看原文排版更好哦前言微信为了限制小程序的热更越过审核,所以限制了 eval / new Function 等方式动态执行代码。其实说实话,限制热更本来能理解,但是你这审核速度如此龟速,让版本迭代和bug修复都异常艰难。尤其是今年春节前夕的时候,我们小程序一审就是5天!但是隔壁某大厂的告诉我们他们小程序审核才用了3个小时,所以也不难猜测我们这些创业小厂永远都是被疯狂插队的。好,鹅厂既然你...转载 2019-10-11 01:00:06 · 375 阅读 · 0 评论 -
【前端】基于JavaScript修改this指向的方法的实现与探索(以call、apply、bind为例)
【前端】call()、apply()、bind()改变函数内this的指向基本介绍语法介绍Function.prototype.apply( thisArg, [argsArray] )]apply_mozillaapply() 方法调用一个具有给定this值的函数,以及作为一个数组(或类似数组对象)提供的参数。Function.prototype.bind( thisA...原创 2019-08-13 03:23:40 · 211 阅读 · 0 评论 -
原生axaj函数与upload函数
/* 封装ajax函数 * @param {string}opt.type http连接的方式,包括POST和GET两种方式 * @param {string}opt.url 发送请求的url * @param {boolean}opt.async 是否为异步请求,true为异步的,false为同步的 * @param {object}opt.data 发送的参数,格式为对象类型 * ...原创 2017-06-13 14:39:56 · 1034 阅读 · 0 评论 -
JQ对特殊ID的选择
JQ对特殊ID的选择$("#a\\[0\\]")$("p[id='a[0]']"); $(document.getElementById("a[0]"))原创 2018-05-01 11:49:16 · 286 阅读 · 0 评论 -
JS数组随机排序
JS数组随机排序function shuffle(a) { var len = a.length; for (var i = 0; i < len - 1; i++) { var index = parseInt(Math.random() * (len - i)); var temp = a[index]; a[index] = a[转载 2017-11-10 18:47:07 · 486 阅读 · 0 评论 -
[JS] addLoadEvent
function addLoadEvent(func){var oldonload=window.onload;if(typeof window.onload!="function"){window.onload=func;}else{window.onload=function(){oldonload();func();}};}转载 2017-08-14 04:09:24 · 384 阅读 · 0 评论 -
[JS]把函数改写为Promise
把函数改写为PromiseJSvar 选择函数 = function(str,success,faild){ if(confirm(str)){ if(typeof success == 'function'){ success(); } }else{ if(typeof faild == 'function')原创 2017-08-14 03:32:46 · 5266 阅读 · 0 评论 -
[JS]小数部分处理
小数部分处理丢弃小数部分,保留整数部分parseInt(7/3)> 2.33 -> 2向上取整,有小数,则整数部分加1Math.ceil(7/3)> 2.333 -> 3向下取整Math.floor(7/3)> 2.333 -> 2四舍五入Math.round(7/3)> 2.333 -> 2除法7/3> 2.333取余7 % 3> 1原创 2017-08-05 12:33:38 · 1146 阅读 · 0 评论 -
[JS]map用法(待完善)
用法:数组.map(函数,xxx)简单来说,就是用数组各个元素调用函数array = [1,2,3,4]array2 = array.map( x => x*x ,5)console.log(array2)\\[1, 4, 9, 16]原创 2017-07-30 16:13:42 · 306 阅读 · 0 评论