自定义博客皮肤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)
  • 收藏
  • 关注

原创 原生JS/JQuery实用技巧

选择所有子元素(排除最后一个)element:not(:last-child) {}自定义原生input="file"的样式// 自定义上传样式<li id="upload-btn" class="default-image"> <img src="=" alt=""> <div>请上传图片</div> <!-- 上传(隐藏原生的input) --> <input type="file" id="up

2021-05-23 15:37:01 161

原创 10道JS高频面试题(重要)

1. 为什么 typeof null === 'object' ?typeof null // 'object'由于 JavaScript 中,一个变量的值会被保存在一个 32 位的内存单元中。该单元包含一个 1 或 3 位的类型标志和实际数据的值。类型标志存储在单元的最后。000:object - 对象1:int - 整数010:double - 浮点数100:string - 字符串110:boolean - 布尔值undefined -2^30null

2021-04-13 14:15:24 442

原创 深入理解JavaScript中的array、string、number...

数组(array)JavaScript 中,数组可以容纳任何类型的值多维数组var a = [1, '2', [3]]a.length // 3a[0] // 1a[2][0] // 3注意:使用 delete 可以删除数组中的元素,但不会改变数组的 length 属性。稀疏数组数组的索引可以是数字,可以是字符串var a = []a[0] = 1;a['demo'] = 2a.length // 思考一下:这里为什么是1,不是2a['demo'] // 2

2021-04-12 15:29:54 639

原创 深入理解JavaScript中的类型(Types)

一、类型的定义大多数人认为,像 JavaScript 这样的动态语言是没有类型(type)的。也有人认为,JavaScript 中的“类型”应该称为“标签”(tag)或者“子类型”(subtype)。定义:类型是值的内部特征,它定义了值的行为,目的是为了区分其他值。怎么理解?变量是没有类型的,值才具有类型,类型描述了值的行为特征;换句话说,当某个值发生改变,类型也随之改变(如 a = 1 --> a = ‘1’)。二、内置类型(七种)JavaScript中有七种内置类型:空值(nu

2021-04-10 15:20:48 3830

原创 彻底搞懂JavaScript中的作用域和闭包

一、作用域作用域是什么几乎所有的编程语言都有一个基本功能,就是能够存储变量的值,并且能在之后对这个值进行访问和修改。那这些变量存储在哪里?怎么找到它?因为只有找到它才能对它进行访问和修改。简单来说,作用域就是一套规则,用于确定在何处以及如何查找变量(标识符)。那么问题来了,究竟在哪里设置这些作用域的规则呢?怎样设置?首先,我们要知道,一段代码在执行之前会经历三个步骤,统称为“编译”。分词/词法分析这个过程会将字符串分解成有意义的代码块,这些代码块称为词法单元。var a = 1;

2021-04-07 08:21:13 88

原创 彻底搞懂JavaScript中的this关键字

本文对JavaScript中的this关键字进行全方位的解析,看完本篇文章,希望读者们能够完全理解this的绑定问题。开篇:对于那些没有投入时间去学习this机制的JavaScript开发者来说,this的绑定是一件令人困惑的事。(包括曾经的自己)。误区:学习this的第一步是明白this既不指向函数本身也不指向函数的词法作用域,你是否被类似这样的解释所误导?但其实这种说法都是错误的。概括:this实际是在函数被调用时发生的绑定,它所指向的位置完全取决于函数被调用的位置。一、调用位置在理解this

2021-04-06 15:10:22 126

原创 20个常用的CSS知识点

1. 如何隐藏滚动条// chrome 和Safari*::-webkit-scrollbar { width: 0 !important }// IE 10+* { -ms-overflow-style: none; }// Firefox* { overflow: -moz-scrollbars-none; }2. 修改滚

2021-04-02 14:19:30 56

原创 你一定踩过的微信h5的坑

1. IOS的input光标高度问题问题:IOS的input框高度会默认占满父盒子的高度,导致光标也会撑满整个input框解决:父盒子使用上下padding撑开,不使用行高(line-height)居中2. IOS微信h5页面上下滑动时卡顿,页面缺失问题:如果页面高度超出了一屏,滑动页面就会出现卡顿,有时会有页面显示不全的情况分析:苹果微信浏览器内核使用自带的safari,需要overflow-scrolling开启回弹效果解决:*{ -webkit-overflow-scrolling: to

2021-03-30 09:15:39 260

原创 JS封装时间格式化函数

日常开发中,经常会遇到后端返回的时间不是我们想要的格式,有两种选择:第一种:引入第三方库(moment.js / day.js)第二种:自己封装一个时间格式化函数看完这篇文章,你也可以拥有自己的时间格式化函数直接上代码/** * @description: 时间戳/中国标准时间转为y-m-d h:m:s(由第二个参数决定) * @param {Date | Number} time 时间戳或中国标准时间 * @param {Number} length 如:10代表转换为YYYY-MM-DD

2021-03-23 08:30:35 423

原创 useEffect进阶指南(下)

React的内部更新机制?<h1 class="name">我的名字是:Kyrie</h1><h1 class="name">我的名字是:IRVING</h1>React也跟vue有着Diff算法,它每次render只会更新与上一次渲染不同的节点和内容,所以上面的例子,React只需要这样做:h1.innerText = Kyrie -> h1.innerText = IRVING那useEffect呢?function Demo() {

2021-03-22 16:51:03 354

原创 useEffect进阶指南(上)

1. 每次渲染都有独立的状态(State)function Demo() { const initCount = 0 const [count, setCount] = useState(initCount) return ( <div> <h2>{count}</h2> <button onClick={() => setCount(count + 1)}>count++</button>

2021-03-21 22:25:42 188

原创 手把手教你React Hooks

1. useStateuseState接收一个参数(状态的初始值)useState返回值:一个数组 第一项:状态值 第二项:修改状态的方法import { useState } from "react";function Demo1() { // 定义count初始值 const initCount = 0; const [count, setCount] = useState(initCount); const increment = () => { set

2021-03-19 18:28:57 86

原创 Vue3正确的打开方式(下)

1. 计算属性(computed)computed 的返回值是一个响应式的 ref 对象import { ref, computed } from 'vue'const count = ref(10)// 写法一:默认返回getter函数 返回值为一个只读的ref对象const doubleCount = computed(() => co

2021-03-18 11:09:53 1555

原创 Vue3正确的打开方式(上)

1. Vue3 定义响应式数据(ref/reactive) import { reactive, toRefs } from 'vue'export default {  setup() {    const data = reactive({      title:&

2021-03-16 09:32:48 208

原创 JavaScript中你必须掌握的15个数组方法

JS中那些常用的数组方法:数组的增删改查:push(插入的元素<可传多个>)作用:往数组的尾部插入元素let arr = [1, 2, 3]arr.push(4, 5)let res = arr.push(4, 5) //返回值为插入元素后数组的长度(res:5)console.log(arr) // [1, 2, 3, 4,&n

2021-03-15 23:35:29 148 2

空空如也

空空如也

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

TA关注的人

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