js
文章平均质量分 63
山川pro
这个作者很懒,什么都没留下…
展开
-
2、JS_继承的几种方法
一、原型链基本构想:通过原型继承多个引用类型的属性和方法。构造函数、实例、原型三者之间的关系每个构造函数都有一个原型对象(prototype),原型对象有一个属性(constructor)指回构造函数,而实例对象有一个内部指针(proto 隐式原型) 指向原型对象。下面来看一个例子-> 从上面例子我们可以清楚原型搜索机制:在读取实例上的属性时,首先会在实例上搜索这个属性。如果没找到,则会继承搜索实例的原型。在通过原型链实现继承之后,搜索就可以继承向上,搜索原型的原型。默认情况下,原创 2022-04-11 11:29:10 · 829 阅读 · 0 评论 -
1、JS几种引用类型:map、weakMap、set、weakSet
集合引用类型一、Map常用APIMap 和 Object 的对比内存占用: 给定固定大小的内存,Map可以比Object多存储50%的键值对;插入性能: 若插入键值对数量不多,则消耗大致相对;但是当涉及到大量插入操作,Map的性能更佳;查找速度删除性能: Map的delete()操作性能更佳二、WeakMap概念: 称为弱映射,它是Map的兄弟类型,不同的是,weakMap的键只能是 Object 或者继承自 Object 的类型,尝试使用非对象设置键会抛原创 2022-04-06 11:38:53 · 1435 阅读 · 0 评论 -
有关日期的通用方法(获取日期/时间戳转日期格式)
获取日期//获取当前年月日Vue.prototype.getDate = function(item) { let date = new Date(); if(typeof item === 'string') { date = new Date(item); } else if (typeof item === 'object') { date = item } let seperator1 = "-"; let ye.原创 2021-07-17 21:59:58 · 90 阅读 · 0 评论 -
通用复选框
渲染复选框select = ` <div style="display: inline-block;" class="dictionary_check_box multipleChoiceBox"> <label>${this._dictionaryCheck[i]}:</label> <div style="position: relative;float: right;" class="_productTypeB.原创 2021-07-17 21:38:57 · 107 阅读 · 0 评论 -
js 统一封装 api 请求文件 ----window.fetch方法
export default async (url = "", data = {}, type = "GET", method = "fetch") => { let baseUrl = ""; type = type.toUpperCase(); url = baseUrl + url; if (type == "GET") { let dataStr = ""; //数据拼接字符串 Object.keys(data).forEach((key) => {原创 2020-12-21 10:15:48 · 537 阅读 · 0 评论 -
html5shiv.js 的作用
解析html5shiv主要解决HTML5提出的新的元素不被IE6-8识别,这些新元素不能作为父节点包裹子元素,并且不能应用CSS样式。让CSS 样式应用在未知元素上只需执行 document.createElement(elementName) 即可实现。html5shiv就是根据这个原理创建的。...转载 2020-12-03 10:26:22 · 233 阅读 · 0 评论 -
ES6生成器函数,解决回调地狱问题
//想要实现的是: 成功获取商品数据后,获取订单数据,成功获取订单数据后,获取商品数据function getUsers() { setTimeout( () => { let data = '用户数据' iterator.next(data) },1000)}function getOrders() { setTimeout( () => { let data = '订单数据' iterator.next(data) },1000)}function原创 2020-11-30 13:48:18 · 152 阅读 · 0 评论 -
前端API接口
Vue 项目中基于axios封装接口及使用1.封装一个api.js文件import axios from "axios";var loginService = { /** * username: 用户名 * password:密码 * checkImage:验证码 */ login(username,password,checkImage) { var params = { "username": username, "passwo.原创 2020-11-30 13:47:40 · 621 阅读 · 0 评论 -
手动实现一个迭代器(使用iterator),自定义遍历数据
let obj = { name: 'IG', stus: ['Rookie','TheShy','Ning','Jk','Bao'], [Symbol.iterator]() { let index = 0; //定义一个索引下标 let that = this; return { next: function() { if(index < that.stus.length) { const原创 2020-11-23 11:20:55 · 229 阅读 · 0 评论 -
JS 表达式 简化写法
1、逻辑与 && 的运算方式var a = 1 && 2;console.log(a); //返回的结果为 2如果逻辑与运算符左边的值布尔转换后为true,那么返回右边的值(不管右边的值是真还是假)。var a = false && 2;console.log(a); //返回的结果为 false如果逻辑与运算符左边的值布尔转换后为false,那么返回左边的值,但是当逻辑与的左边为 null/NaN/undefined ,结果就会得到null/Na转载 2020-10-28 10:49:56 · 346 阅读 · 0 评论 -
Vue 点击 for 循环中的项会改变样式,循环的每一项互不影响
原理:利用一个空数组,用来存储点击项的下标,通过控制数组来达到效果。主要运用到的是几个数组的方法。arrActive.findIndex() 找到的是数组里第一个的位置,找不到返回 -1。arrActive.includes() 判断是否包含某一元素,它直接返回 true 或者 false 表示是否包含元素。arrActive.splice(hash, 1) 从数组中第 hash 项删除 1 项,然后返回删除后的数组。arrActive.push(index) 如果点击的那一项,在原创 2020-08-16 14:27:23 · 1664 阅读 · 0 评论 -
前端基础知识持续整理中。。
一、Css盒模型标准盒模型和IE盒模型在 CSS 盒子模型 (Box Model) 规定了元素处理元素的几种方式:width和height:内容的宽度、高度(不是盒子的宽度、高度)。padding:内边距。border:边框。margin:外边距。CSS盒模型和IE盒模型的区别:标准盒子模型中,width 和 height 指的是内容区域的宽度和高度。增加内边距、边框和外边距不会影响内容区域的尺寸,但是会增加元素框的总尺寸。IE盒子模型中,width 和 height 指的是内原创 2020-07-21 14:58:07 · 492 阅读 · 0 评论 -
Vue 单页面,多路由,前进刷新,后退不刷新
已根据以下链接方法实践,可以实现需求。参考链接: https://segmentfault.com/a/1190000012083511原创 2020-07-21 14:56:26 · 140 阅读 · 0 评论 -
CSS3学习笔记
一.结构伪类选择器E:first-child: 匹配父元素中第一个子元素EE:last-child:匹配父元素中最后一个子元素EE:nth-child(n):匹配父元素中的第n个子元素E–》n可以是数字 关键词 公式–》常见的关键词有even偶数 odd奇数–》如果n是公式,则从0开始计算。比如说 5n,那么取值为 5 10 15.。。。n+5,那么取值从第五个开始 到...原创 2020-05-26 09:12:24 · 165 阅读 · 0 评论 -
flex布局
网页布局(layout)是CSS的一个重点应用。布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。2009年,W3C提出了一种新的方案—-Flex布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。Flex布...原创 2020-05-26 09:12:10 · 99 阅读 · 0 评论 -
JS-闭包
1.闭包的生命周期2.闭包的应用定义js模块:具有特定功能的js模块。①将所有的数据和功能都封装到一个函数内部(私有的)。②只向外暴露一个包含n个方法的对象或者函数。③模块的使用者,只需通过模块暴露的对方调用方法来实现对应的功能。定义闭包模块的两种方法以及它们的调用方法—》第一种调用方法:----》第二种:也可以这么写,有助于代码的压缩:即可以把window写成w...原创 2020-05-26 09:11:55 · 106 阅读 · 0 评论 -
JS-执行上下文与执行上下文栈
执行上下文与执行上下文栈1.变量声明提升与函数声明提升1)变量声明提升:使用var声明的变量,在定义语句之前就可以访问到,它的值为undefined。2)函数声明提升:通过function()声明的函数,在执行之前就可以访问到,它的值为函数定义(对象)—>两者执行顺序:先执行变量提升,再执行函数提升。一道例题: var a=3; function fn(){ con...原创 2019-11-07 19:54:39 · 177 阅读 · 0 评论 -
js-高级(原型部分)
#显式原型和隐式原型基本知识点:1)每个函数都有一个prototype,即显示原型(属性)。2)每个实例对象都有一个_proto _,即隐式原型。3)对象的隐式原型的值等于其相应构造函数的显式原型的值。4)程序员在es6之前,不能直接操作隐式原型,只能操作显式原型。<script type="text/javascript"> //定义构造函数 functi...原创 2019-11-06 22:34:09 · 179 阅读 · 0 评论