JavaScript
懂懂kkw
持续精进
展开
-
element-ui toggleRowSelection 分页取消选中实现
需求如下需要用到 element-ui table api toggleRowSelection, 它里面有包含两个属性,row, selected, row是行数据,selected 为布尔值 true 则选中,但是存在一个问题,row如果不是来源自tableData(table渲染数据)里面的值,这个属性取消选中不会生效,原因是什么?看源码例子解决方法如果要实现上面需求,那就需要拿table内存中的值去匹配那么我们可以直接通过内存中的值去匹配来取消table选中 this.原创 2022-02-24 14:46:02 · 1423 阅读 · 3 评论 -
高三 (14)事件
1.原创 2020-12-14 21:07:29 · 248 阅读 · 0 评论 -
判断对象中是否存在这个属性
var obj = { a:2 }; // 方法一("a" in obj); // true ("b" in obj); // false // in 操作符会检查属性是否在对象及其 [Prototype] 原型链中// 方法二obj.hasOwnProperty( "a" ); // true obj.hasOwnProperty( "b" ); // false//hasOwnProperty(..) 只会检查属性是否在 obj 对象中,不会检查 [Prototype] 链.原创 2020-07-08 17:34:22 · 852 阅读 · 0 评论 -
this指向的四种情况
this 是在运行时进行绑定的,并不是在编写时绑定,它的上下文取决于函数调用时的各种条件。 this 的绑定和函数声明的位置没有任何关系,只取决于函数的调用方式。 当一个函数被调用时,会创建一个活动记录(有时候也称为执行上下文)。这个记录会包含函数在哪里被调用(调用栈)、函数的调用方式、传入的参数等信息。this 就是这个记录的一个属性,会在函数执行的过程中用到。判断this指向的四种情况1. new使用 new 来调用函数,或者说发生构造函数调用时,会自动执行下面的操作。 ...原创 2020-07-07 18:33:05 · 1218 阅读 · 0 评论 -
js 柯里化应用
1. 什么是柯里化在Lambda演算中有个小技巧:假如一个函数只能收一个参数,那么这个函数怎么实现加法呢,因为高阶函数是可以当参数传递和返回值的,所以问题就简化为:写一个只有一个参数的函数,而这个函数返回一个带参数的函数,这样就实现了能写两个参数的函数了 ——这就是所谓的柯里化(Currying,以逻辑学家Hsakell Curry命名),也可以理解为一种在处理函数过程中的逻辑思维方式。...转载 2019-04-11 18:38:25 · 734 阅读 · 0 评论 -
jq用on给动态添加的dom节点绑定hover事件
1. 测试用 hover 是不行的, 语法不支持$(selector).on(event,childSelector,data,function,map) 2. 使用下面的方法可以实现同样的效果$('#table .th-inner').on({ mouseenter: function (e) { console.log(1) }, ...原创 2019-04-01 17:05:14 · 3302 阅读 · 0 评论 -
克隆当前页面 (做缓存)
1. 原生var node=document.getElementById("myList2").cloneNode(true); document.getElementById("myList1").appendChild(node);语法 : node.cloneNode(deep)参数 deep 是布尔值可选。默认是 false。设置为 true,如果您需要克隆...原创 2019-03-27 11:24:13 · 433 阅读 · 0 评论 -
JavaScript 清空数组的四种方法
var arr = [1, 2, 3]1. length (推荐)arr.length = 0 2. splicearr.splice(0, arr.length)// 等价于arr.splice(0)splice 语法 : array.splice(start[, deleteCount[, item1[, item2[, ...]]]])参数含义...原创 2019-02-26 15:30:59 · 280 阅读 · 0 评论 -
Google JavaScript 风格指南
Google 和 Airbnb 是目前最流行的 JavaScript 代码风格,如果你长期使用 JavaScript 来写代码的话,建议对比看看。在团队开发中,通常需要遵循一定的代码风格,这样有利于团队的协作和代码的可维护性。而 JavaScript 的代码风格其实是有很多的,接下来我们来看看 Google 发布的 JavaScript 风格指南,大致包含了以下部分内容:文件名...原创 2019-02-20 14:32:30 · 396 阅读 · 0 评论 -
map, filter, some, every , find, forEach, for..in, for...of等使用方法说明
let arr = [1, 2, 3, 4, 5];// map 使用 (处理数组,返回数组)var res = arr.map( item => { return item * 2;});// res: [2, 4, 6, 8, 10]// filter 使用 (删选符合条件元素,返回数组)var res = arr.filter( item => ...原创 2019-02-20 11:47:04 · 478 阅读 · 0 评论 -
前端 WebSocket 配置
JS<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0">转载 2019-02-28 16:11:53 · 3427 阅读 · 0 评论 -
div自适应高度, 超出部分出现滚动条
1. 问题通过 height 设置百分比的方式, 可以自适应高度, 但是不会出现滚动条. 固定值 height 会出现滚动条, 但是各种屏幕的高度不能自适应.2. 解决先拿到屏幕高度 let screenHeight = window.innerHeight; 自定义高度 需求1: 超出屏幕高度出现滚动条: 元素高度 = 屏幕高度即可 需求2: ...原创 2019-01-29 11:52:15 · 11386 阅读 · 0 评论 -
slice,substr和substring的区别
1. 相同点他们都接收两个参数 , 第二个参数都是可选的, 如果忽略, 返回从 第一个参数的开始位置到字符串的结尾slice 和 substring 接收的是 起始位置 和 结束位置(不包括结束位置),substr 接收的则是 起始位置 和 所要返回的字符串长度 。var str = 'helloworld'; alert(str.slice(4,7)); ...原创 2019-04-09 14:48:25 · 1361 阅读 · 0 评论 -
高三 (3)变量
ECMSScript 的变量是松散类型的, 所谓松散类型就是可以用来保持任何类型的数据。 换句话说,每个变量仅仅是一个用于保存值的占位符而已。1.var str='hello';str = 10; // 有效,但不推荐变量一开始定义的字符串,然后又被数字值10取代。这种操作在ECMAScript 中完全有效,但是不推荐。2.注意 : 省略 var 操作符可...原创 2019-04-28 00:04:25 · 187 阅读 · 0 评论 -
高三 (4)数据类型
ECMAScript 有5种简单的数据类型(基本数据类型) : Undefined, Null, Boolean, Number 和 String。还有一种复杂数据类型Object,本质上是由一组无序的名值对组成的typeof 操作符鉴于 ECMAScript 是松散类型的, 因此需要有一种手段来检测给定变量的数据类型——就是typeof"undefined"——如果这个值未定义...原创 2019-04-28 00:26:42 · 275 阅读 · 0 评论 -
js 中编码和解码
1. 什么情况下需要编码 ?我们要查询一个年龄为 20,姓名包含tom的人,那么我们会这样去组织请求var url = "http//xxx/age=20&name=tom"然后服务端就能收到下面的接口请求参数{ "age": "20", "name": "tom"}如果我要搜索的姓名是tom&lucy,那么 url 就变成了var...原创 2019-05-30 15:49:02 · 850 阅读 · 0 评论 -
快速获得地址栏问候后面的参数
话不多说, 直接上方法 function getUrlParam() { // var url = location.href.split('?')[1].split('&') var url = location.search.split('?')[1].split('&') //有哈希(#号)取不到值,就用上面注释 var para...原创 2019-05-30 14:59:09 · 273 阅读 · 0 评论 -
最简单的查询全局(window)方法的使用
1. 打开谷歌2. 打开控制台3. 直接敲下要查询的命令, 回车4. 比如要 查询 window.location 的方法5. window 下有哪些方法6. window下的 localStorage 具体有哪些方法, 进入__proto__(隐式原型) 可以查看...原创 2019-05-30 14:12:24 · 791 阅读 · 0 评论 -
高三 (5)操作符
ps : 概念太基础,只记重点!1. 一元操作符递增和递减var num = 22;++num; //23// 但是var num1 = 22;num1++ //22// 后置型递增和递减和前置型递增和递减的区别,就是后置型是在包含它们的语句被呀求值之后才执行的。例如:var a = 1;var b = 2;var c = a-- + b; //...原创 2019-05-08 00:12:08 · 183 阅读 · 0 评论 -
vue中使用定时器setTimeout、setInterval的一些坑
1、在vue中,有两套定时器,一套是浏览器API,window对象上的;另一套就是vue/nodejs封装的,需要引入 (之前一直不知道,一直清不掉计时器,坑惨了)import { setInterval, clearInterval } from 'timers'如果只引入setInterval ,而没有引入 clearInterval 是清不掉计时器的...最新的vue-cli...原创 2019-05-10 11:51:58 · 6242 阅读 · 0 评论 -
常用的两种跨域方法cors和proxy
平时被问到最多的问题还是关于跨域的,其实跨域问题真的不是一个很难解决的问题。这里我来简单总结一下我推荐的几种跨域解决方案。我最推荐的也是我工作中在使用的方式就是:cors全称为 Cross Origin Resource Sharing(跨域资源共享)。这种方案对于前端来说没有什么工作量,和正常发送请求写法上没有任何区别,工作量基本都在后端这里。每一次请求,浏览器必须先以OPTIONS...原创 2019-05-08 15:38:54 · 4034 阅读 · 0 评论 -
高三 (2)HTML 中使用 JavaScript
1. 内嵌 vs 外联在 HTML 中嵌入 JavaScript 代码没有什么问题, 但一般认为最好的做法还是尽可能使用外部文件来包含 JavaScript 代码 。有以下优点 :可维护性 : HTML 和 JavaScript 分离,便于维护 可缓存 : 浏览器能够根据具体的设置缓存链接的所有外部 JavaScript 文件。也就是说,如果有两个页面同时使用一个文件,那么这个...原创 2019-04-23 23:40:51 · 148 阅读 · 0 评论 -
高三 (1)JavaScript 简介
ps: 只做一些简单的笔记1. JavaScript 实现JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。一个完整的 JavaScript 由以下三部分组成 :...原创 2019-04-23 22:40:03 · 206 阅读 · 0 评论 -
筛选出两个数组不同的元素
1.筛选出两个数组不同的元素let list= [];list = this.array1.filter(item=>{ return array2.indexOf(item) === -1}); 2.筛选出两个数组相同的元素let list= [];list = this.array1.filter(item=>{ return array2.i...原创 2019-01-25 15:34:24 · 8333 阅读 · 2 评论 -
jq 给动态渲染的元素绑定事件
1. 语法$(selector).on(event,childSelector,data,function,map) 如下 $('#div').on('click','li',function(){})但是hover不行,因为后面两个function, 所以分开写就好了$('#div').on('mouseenter','li',function(){});$('...原创 2019-01-17 17:56:50 · 3581 阅读 · 0 评论 -
对象(object)
对象,定义,工厂函数,构造函数,原型对象等方法的使用总结。原创 2017-10-27 14:13:55 · 732 阅读 · 0 评论 -
javascript学习笔记整理总汇
一 JavaScript:简称JS编程语言:可以将具体、实物化得实物抽象成代码的方式来描述它是一种专为网页交互而设计的脚本语言。也是一种非常松散(弱类型)的面相对象的语言交互:通过一些行为来展现后台所提供的数据二 JS的组成部分:ECMAScript(ES)---描述了JS的语法和基本对象。目前用得最广泛的版本是ES5,下一代标准是ES6(ES2015)DOM(document obj...原创 2017-10-27 11:26:39 · 1330 阅读 · 0 评论 -
Some basics
用jquery实现编辑,删除,提交的功能原创 2017-10-06 19:27:33 · 440 阅读 · 0 评论 -
简易的jQuery
看了一个面向对象的视频,试着写了个html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-s原创 2018-09-13 11:35:25 · 264 阅读 · 0 评论 -
路由实现(转)
路由这个概念最先是后端出现的。在以前用模板引擎开发页面时,经常会看到这样http://hometown.xxx.edu.cn/bbs/forum.php有时还会有带.asp或.html的路径,这就是所谓的SSR(Server Side Render),通过服务端渲染,直接返回页面。其响应过程是这样的1.浏览器发出请求2.服务器监听到80端口(或443)有请求过来,并解析url...转载 2018-09-10 17:55:52 · 764 阅读 · 0 评论 -
前端路由的两种实现原理(转)
前端路由的两种实现原理早期的路由都是后端实现的,直接根据 url 来 reload 页面,页面变得越来越复杂服务器端压力变大,随着 ajax 的出现,页面实现非 reload 就能刷新数据,也给前端路由的出现奠定了基础。我们可以通过记录 url 来记录 ajax 的变化,从而实现前端路由。本文主要讲两种主流方式实现前端路由。History API这里不细说每一个 API 的...转载 2018-09-10 16:53:59 · 4164 阅读 · 0 评论 -
深拷贝与浅拷贝的区别(转)
【JS】深拷贝与浅拷贝的区别,实现深拷贝的几种方法如何区分深拷贝与浅拷贝,简单点来说,就是假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝,拿人手短,如果B没变,那就是深拷贝,自食其力。此篇文章中也会简单阐述到栈堆,基本数据类型与引用数据类型,因为这些概念能更好的让你理解深拷贝与浅拷贝。我们来举个浅拷贝例子:let a=[0,1,2,3,4], ...转载 2018-09-12 16:50:20 · 182 阅读 · 0 评论 -
js中的Object.defineProperty()和defineProperties()
ECMAS-262第5版在定义只有内部采用的特性时,提供了描述了属性特征的几种属性。ECMAScript对象中目前存在的属性描述符主要有两种,数据描述符(数据属性)和存取描述符(访问器属性),数据描述符是一个拥有可写或不可写值的属性。存取描述符是由一对 getter-setter 函数功能来描述的属性。Object的defineProperty和defineProperties这两个方法...转载 2018-08-03 15:09:37 · 249 阅读 · 0 评论 -
for循环中的事件绑定
html <button>按钮1</button> <button>按钮2</button> <button>按钮3</button> <button>按钮4</button> <button>按钮5<原创 2018-07-19 18:12:34 · 2639 阅读 · 0 评论 -
拖拽事件原生js和面向对象编程(封装和继承)
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0">原创 2018-07-19 14:37:47 · 233 阅读 · 0 评论 -
es6
# 简介- ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在2015年6月正式发布了。- 老版本浏览器支持度不高# Babel 转码器 Babel 是一个广泛使用的 **ES6 转码器**,可以将 ES6 代码转为 ES5 代码,从而在现有环境执行。这意味着,你可以用 ES6 的方式编写程序,又不用担心现有环境是...原创 2018-07-04 15:38:52 · 219 阅读 · 0 评论 -
函数
函数,回调函数,闭包原创 2017-11-01 11:49:46 · 282 阅读 · 0 评论 -
什么是闭包?
1什么是闭包?2闭包的特性。原创 2017-11-01 11:28:15 · 216 阅读 · 0 评论 -
阶层累乘 累加
简单的数字逻辑 累乘 累加原创 2017-10-07 23:10:34 · 597 阅读 · 0 评论