自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 对象和数组的遍历——是否会遍历到继承属性以及不可枚举属性

一、对象1.for...infor...in,只遍历对象自身的和继承的可枚举属性(不含Symbol属性)。2.Object.keys()返回一个数组,包括对象自身的(不含继承的)所有可枚举的属性(不含Symbol属性)的键名。推荐对象的遍历使用这个方法。3.Object.getOwnPropertyNames()Object.getOwnPropertyNames,返回一个数组,包含对象自身的所有属性(不含 Symbol 属性,但是包括...

2022-03-25 15:51:58 445 1

原创 Element UI Dialog 闪烁问题

记录一个问题,今天在使用elementui中dialog组件时,将dialog组件封装成一个业务组件,在之后的使用中发现了一个问题。使用的场景是需要循环出来很多按钮,在按钮上绑定dialog事件,根据type传递参数,来切换不同样式的dialog。在使用过程中发现dialog组件会发生闪烁bug。最后经过一番痛苦的排查和尝试,原来是组件上绑定了:key的属性,属性值是type,只需要把这个属性删除掉,就没有问题了,其实这个dialog不经过循环,所以这个key完全是我写代码时粗心写上的。记录问题,引以

2022-03-17 18:53:41 2011

原创 Vue中的一些命名规范

在重新回顾vue官网的时候,发现一些很容易被遗忘和混淆的命名规范,今天就拿出来一起总结一下。组件名在注册一个组件的时候,我们始终需要给他起一个名字,在起这个名字的时候我们需要注意什么呢?vue强烈建议遵循w3c规范中的自定义组件命名——字母全部小写并且必须包含一个连字符。这会帮助你避免和当前或者未来的html元素相冲突。例如:Vue.component('my-component-name', { /* ... */ })PropHTML 中的 attribute 名是大小写不敏感的,所以浏览

2022-03-16 15:24:41 8902

原创 手写call函数

javascript中的call方法是使用一个指定的 this 值和单独给出的一个或多个参数来调用一个函数。这样就可以修改this的指向。下面是如何自己实现一个call方法,主要注意的点是,如何修改this的指向,我们都知道在普通函数中this是指向函数的调用者,那么我们要达到将this指向传入的target上即可,也就是说使用target来调用我们想调用的函数就可以,所以可以将需要调用的函数作为target对象上的一个属性,通过target.fn的方式来调用,就可以修改fn内部的this指向了。最后记着

2021-11-06 19:04:12 491 2

原创 Uncaught TypeError: (intermediate value)(...) is not a function

报错如下:出现这种问题的原因,应该是在代码中有立即执行函数但是立即执行函数前却没有使用分号导致的。不然会被JS编译器错误解析从而报错。还是要注意编码规范啊。

2021-09-17 22:04:04 1891 2

原创 JS中如何使对象或者属性不能被改变?有几种方法呢?

Javascipt中如果想使得对象或属性不能被修改,有很多种方式,下面由对象冻结的深浅程度,依次记录(由浅入深)。1. Object.preventExtensionsObject.preventExtensions()方法让一个对象变的不可扩展,也就是永远不能再添加新的属性。 let obj = {} Object.preventExtensions(obj) obj.name = 'liderder' console.log(obj);我们可以看到,obj中没有添加na

2021-09-15 19:47:51 4766

原创 js中数组常用API总结

今天捋捋有关JS中数组API的知识。先来看Array的静态方法,然后是Array的实例方法。1.静态方法:1.1 Array.from():从类数组对象或者可迭代对象中创建一个新的数组实例 let set = new Set(['a', 'b', 'c', 'd']) let arr = Array.from(set) console.log(arr, arr instanceof Array);浏览器打印结果:1.2 Array.isArray():用来判断某个变量是否是一个

2021-09-15 11:46:10 381

原创 前端面试题——防抖和节流(一)

主要来看一下面试经常被问道的防抖和节流1.防抖防抖在我理解来其实就是事件触发时在n秒后调用事件绑定的方法,如果n秒内再次触发这个事件,那么重新计时。下面以浏览器的滚动条为例,如果有这样一个需求 :我需要监听用户浏览器的滚动事件,返回用户距离顶部的距离,那么可以用一下代码实现:function showTop() { let scollTop = document.body.scrollTop || document.documentElement.scrollTop

2021-09-14 21:56:23 101

原创 JS变量类型-双等于和三等于判断

JS中的变量类型可以分为两类:值类型和引用类型:String Boolean Number Null Undefined(值类型)Function Array Object (引用类型)可以使用typeof 对他们进行简单的区分,但是Null Array Object 例外,这三个变量类型使用typeof输出后的值均为Object:let a = []console.log(typeof a)//输出: object(Null 和 Object同理)为了进一步区分这三个变量类型,可以使用

2021-09-06 22:14:29 1026

原创 前端安全-关于XSS和CSRF

XSS 跨站脚本攻击 CSRF 跨站请求伪造1.XSS:浏览器向服务器请求的时候被注入脚本攻击类型:1.反射型(非持久型):攻击者通过从url中输入XSS代码,作为输入提交到服务器端,服务器解析响应,XSS代码随着响应内容传回到浏览器,有浏览器解析执行XSS代码.2.存储型(持久型):它与反射型不同的是,存储型会注入到服务器数据库中,从而使普通用户的每次请求都具有XSS代码,从而具备了扩散性.3.基于DOM型:通过DOM来动态修改页面内容,从客户端获得DOM中的数据并在本地执行.防范措施:1

2021-08-27 10:45:32 119

原创 javascript中的null和undefined

二者都是表示值为空,但是还是有一些细微的区别具体的使用null表示 “没有对象”,即该处不应该有值。(1)作为函数的参数,表示该函数的参数不是对象。(2)作为对象原型链的终点。undefined表示“缺少值”,就是此处应该有一个值,但是还没有定义。(1)变量被声明了,但没有赋值时,就等于undefined。(2)调用函数时,应该提供的参数没有提供,该参数就等于undefined。(3)对象没有赋值的属性,该属性的值为undefined。(4)函数没有返回值时,默认返回undefined。

2021-08-27 09:55:01 101

原创 CSS选择器

总的来说,CSS选择器可以分为以下五种:核心选择器层次选择器属性选择器伪类选择器伪元素选择器下面就以上五种选择器展开一个介绍一. 核心选择器id选择器——利用html的id属性#classID{ height:200px; width:200px;}class选择器——利用html的id属性标签选择器——如:选中所有的div标签div{ height:200px;}并且选择器div.box{ height:200px}<div cl

2021-08-16 18:32:27 84

原创 let和const

let1.变量不能重复声明2.块儿级作用域3.不存在变量提升4.不影响作用域链 如:{ let name = "Liderder"; function fn(){ console.log(name); } fn()//输出“Liderder”}const1.一定要赋初始值2.一般常量使用大写3.常量的值不能修改4.块儿级作用域5.对于数组和对象的元素修改,不算做对常量的修改,不会报错 其原因是因为该常量所指向的地址并没有改变...

2021-08-16 09:58:16 65

原创 JS中的new操作符

new 操作符语法 :new function(){}作用:1.创建空对象2.执行函数3.**确认this的指向**:this----->创建的空对象4.返回执行结果

2021-08-16 09:56:48 81

原创 关于vue.js中core-js报错的问题

问题发现:一天起床后启动vue项目时的报错问题原因:core-js的版本问题解决方法:npm install core-js@3

2020-04-18 13:43:15 2381

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除