自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深入理解CSS中的变量(应用篇)

在现代Web开发中,换肤功能已经成为提升用户体验的重要手段之一。通过使用CSS变量和JavaScript,我们可以轻松实现动态换肤功能。本文将介绍如何动态生成和应用CSS变量来实现换肤效果。

2024-07-27 15:03:09 703

原创 深入理解CSS中的变量(概念篇)

CSS变量,也称为自定义属性,是一种在CSS中定义和重用值的方式。它们允许开发者在一个地方定义样式值,然后在整个样式表中引用这些值,从而提高代码的可维护性和可读性。

2024-07-27 14:45:10 736

原创 深入理解JS中的发布订阅模式和观察者模式

发布/订阅模式(Publish/Subscribe)和观察者模式(Observer Pattern)在概念上非常相似,都是用于实现对象之间的松耦合通信。尽管它们在实现细节和使用场景上有所不同,但核心思想是相通的。

2024-07-22 17:30:11 540

原创 深入理解JS中的事件委托

JavaScript中的事件委托是一种非常有用的事件处理模式,它允许我们利用事件模型的事件冒泡阶段来减少事件处理器的数量,提高网页性能。本文将介绍事件委托的概念、工作原理、优点以及如何在实际项目中应用事件委托。

2024-07-17 21:44:05 1210

原创 深入理解JS中的排序

在JavaScript开发中,排序是一项基础而重要的操作。本文将探讨JavaScript中几种常见的排序算法,包括它们的原理、实现方式以及适用场景。

2024-07-17 15:56:19 991

原创 深入理解JS中的防抖&节流

在Web开发中,防抖(Debouncing)和节流(Throttling)是两种常用的优化技术,用于提高页面性能和用户体验。它们通过限制函数执行的频率来减少计算资源的消耗,尤其是在处理频繁触发的事件时,如窗口大小调整、滚动、键盘输入等。

2024-07-11 07:30:00 404

原创 深入理解JS中的闭包

闭包是指那些能够访问自由变量的函数。自由变量是指在函数中使用的,但既不是函数参数也不是函数局部变量的变量。

2024-07-10 18:42:17 1055

原创 深入理解JS中数据类型判断

在JavaScript开发中,准确判断数据类型是一项基础且重要的技能。由于JavaScript是一种弱类型语言,变量可以被赋予任何类型的值,这就使得类型判断变得尤为重要。本文将探讨在前端开发中判断数据类型的几种常用方法,包括typeof运算符、instanceof运算符、方法以及一些其他实用技巧。

2024-07-10 11:21:33 510

原创 深入理解CSS中的透明效果实现

在前端开发中,透明效果是一种常见且有效的视觉设计手段,它可以增加页面的层次感和美观度。透明效果可以通过多种方式实现,包括CSS的opacity属性、RGBA颜色模式、背景透明等。本文将探讨这些方法的使用场景和优缺点,帮助开发者更好地在项目中应用透明效果。

2024-07-10 11:11:44 960

原创 深入理解CSS中的 :: 和 :

CSS中的伪类(:)与伪元素(::)是用于定义元素特殊状态或特定部分的样式规则。虽然它们在视觉上相似,但它们在功能上有着本质的区别。

2024-07-09 18:09:59 647

原创 深入理解CSS中的块格式化上下文(BFC)

块格式化上下文(BFC)是Web页面的可视CSS渲染的一部分,它决定了元素如何对其内容进行布局,以及与其他元素之间的关系和互动。简单来说,BFC是一个独立的布局环境,其中的元素布局不受外部影响,并且BFC内部的元素也不会影响到外部。

2024-07-08 16:02:09 489

原创 深入理解CSS盒模型

在CSS中,每个元素被视为一个盒子,这个盒子包括了元素的内容(Content)、内边距(Padding)、边框(Border)和外边距(Margin)。理解这些层次及其相互作用,对于掌握页面布局至关重要。

2024-07-08 13:38:55 317

原创 JS中的特殊运算符:?? 和 ?.

当前框架盛行,导致大多数前端人员都是在做一些常规的JS代码开发。null和undefined,可能一不小心就导致控制台报错了。??和?,是的针对null和undefined的操作变得更加简洁明了。

2024-07-08 11:20:33 755

原创 面试题:f(n1)(n2)(n3)……(n)求和

1.题目来源:源自前一期的面试题:最近一次前端面试题,有兴趣的可以进去瞄瞄,看看自己掌握了多少。2.题目描述:编写一个函数,使得它能够连续求和,如下所示//编写函数f()functionf(){//somecode//……}//f满足以下要求f(1)==1f(1)(2)==3f(1)(2)(3)==6f(1)(2)(3)(4...

2019-08-12 15:08:02 825

原创 正则表达式教程

在最近一次前端面试题中,有一个面试题:"一个字符串数字,每隔3位添加一个空格"//从左到右每隔三位用空格分隔:'123 456 676 89'varstr='12345667689';方法一(不会正则的):varstr='12345454645'//添加分隔符函数:str-字符串,num-位数,sep-分隔符functionaddDelimiter(str,...

2019-08-07 18:37:16 1283

原创 前端工程化之gulp

文章目录一、gulp介绍二、gulp的安装三、gulp的api1、gulp.src():输入文件2、gulp.dest():输出文件3、gulp.task()4、gulp.watch()四、常用插件1、JS压缩插件:gulp-uglify2、ES6语法转换:gulp-babel3、资源图:gulp-sourcemaps4、处理图片文件:gulp-imagemin5、压缩css:gulp-cssmi...

2019-04-16 17:04:01 408

原创 ES6模块化

这里写自定义目录标题一、现阶段的模块化方案二、ES6模块`export`的语法(以下定义的模块:`mod.js`)1、定义的同时导出2、先定义后导出3、另类的导出:export defaultexport语法汇总import的语法1、全部导入2、局部导入:只导入sum方法4、另类的导入:引入整个模块,不引入内部成员5、当做函数使用:返回的是一个promiseexport和import复合写法常用写...

2019-04-14 11:27:37 1390

原创 JavaScript基础—作用域与作用域链

在函数部分提到:ES6之前,JavaScript只有全局作用域,函数作用域,没有块作用域({}作用域),例如:if(true){  var a = 3}console.log(a) // 3for(var i=1;i<4;i++){  //...}console.log(i) //4而在Java语言中,是有块作用域的哦,这也是JavaScript与Java语言的一...

2018-12-03 16:22:32 170

原创 面试题:作用域相关

1 、下面代码输出什么并说明原因var a = 12if(a>10){  var c = a+1}console.log(a,c)结果:12 13解释:JavaScript不同于Java语言,在ES6之前是没有块级作用域的。 2、下面代码输出什么并说明原因function fn(){  var a = b =30  console.log(a,b)...

2018-12-03 16:19:48 706

原创 JavaScript基础—立即执行函数(IIFE)

一、立即执行函数(IIFE)在JavaScript基础—函数中介绍了函数作用域的概念:在函数中声明的变量在整个函数体内都是可见的,在函数的外部是不可见的。不在任何函数内部声明的变量是全局变量,在JavaScript程序中都是可见的。ES6新增了块级作用域。那么,在ES6之前我们能否弥补整个作用域的缺陷呢。那就是立即执行函数。IIFE:全拼Imdiately Invoked Func...

2018-11-29 16:13:00 2895

原创 JavaScript基础—函数

一、函数的定义函数是JavaScript中最复杂的数据类型,它既有对象的复杂度,又有函数独特的特性,尤其是函数中的this的指向。函数是一段可以反复调用的代码块。函数还能接受输入的参数,不同的参数会返回不同的值。它体现的是一种封装的思想。在JavaScript中,有三种声明函数的方式。(1)function关键字function关键字声明的代码区块,就是一个函数。functio...

2018-11-10 22:52:05 231

原创 JavaScript基础—对象

一、对象的基础对象(object)是 JavaScript 语言的核心概念,也是最重要的数据类型。什么是对象?简单说,对象就是一组“键值对”(key-value)的集合,是一种无序的复合数据集合。var obj = {    foo:'value1',     bar:12,    5:'aaa'}上面代码通过大括号定义了一个有三个属性的对象,赋值给了变量obj:键...

2018-11-10 00:58:38 237

原创 10分钟上手vue-cli 3.0 入门介绍

00、前言当你还在摸索vue-cli 2.x版本的配置的时候,vue-cli 3.x版本已经出来了,是不是有种快要掉队的感觉,是不是有种快要成为里的“矮矬穷”的感觉。。“什么,不想成为矮矬穷?”,那我们就一起来先入个门吧。后面讲介绍一下2.x与3.x的一些区别,入门级别的。 01、vue cli 3 安装Node版本要求node最低要求8.9,或更高版本,推荐8.11.0+...

2018-11-03 16:49:34 1668

原创 Vue-cli脚手架快速搭建项目

 一、前言“脚手架”是一种元编程的方法,用于构建基于数据库的应用。许多MVC框架都有运用这种思想。 是不是感觉很高大上的样子,好吧,其实说直白点就是:别人共享出来的,可以快速帮你搭建一个项目的基础架子,你可以在上面添砖加瓦,以满足你的需求。这篇博文要介绍的为vue-cli2.x版本的。 二、准备工作node安装在node官网,下载安装包,然后一路点击next,即可进...

2018-10-31 23:12:39 205

原创 Vue实用解决方案

1、Vue scoped CSS 与深度作用选择器 /deep/With scoped, the parent component's styles will not leak into child components. However, a child component's root node will be affected by both the parent's scoped C...

2018-10-29 22:55:50 247

原创 JavaScript面试题:数据类型与内存空间

一、数据类型部分1、JavaScript有哪些数据类型?JavaScript是一种弱类型的脚本语言,它有两类数据类型:基本类型与对象类型 基本类型:String、Number、Boolean、undefined、null 对象类型:Object、Array、function等 2、判断数据类型的方式有几种?有三种基本的判断方式:typeof、===、inst...

2018-10-27 21:47:39 405

原创 windows系统下如何安装多版本node

对于nodejs的爱好者来说,必然希望能够在同一台机器上安装多个版本的nodejs(至少两个:稳定版和最新版)。稳定版用来在实际生产项目中使用,最新版本用来研究nodejs的新特性、踩坑。下面我将介绍一下在windows系统中如何通过nvm进行node多版本管理。一、nvm-windows的地址 nvm-windows的github地址: https://github.com/corey

2017-05-10 09:02:29 17373 2

原创 JavaScript中的函数

函数的定义

2017-01-19 16:23:08 348

原创 微信小程序组件:audio及api

一、audio标签audio为小程序中的音频组件,我们可以轻松的在小程序中播放音频。下面是组件的相关属性的说明 属性 类型 默认值 说明 id String video 组件的唯一标识符 src String 要播放音频的资源地址 loop Boolean false 是否循环播放 con

2017-01-06 16:30:34 8782 3

转载 移动终端H5页面meta标签的设置案例

一、天猫<title>天猫触屏版</title><meta content="text/html; charset=utf-8" http-equiv="Content-Type"><meta charset="utf-8"><meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalabl

2016-12-02 16:12:50 13269

原创 android基于webview嵌入html5的字体大小设置

情景: android手机上继续webview嵌入的html5的页面,当手机系统的字体大小发生变化时,导致页面的字体跟随变化,进而引起页面布局错乱。而在ios上貌似不会更随系统字体的变化而发生变化。需求: 不论系统字体大小如何变化,页面字体大小、元素布局保持不变。解决方法: 在webview进行设置:webview.getSettings().setTextZoom(100);

2016-11-30 15:22:54 3921 3

原创 cordova + ionic混合apk的更新—H5部分更新

cordova + ionic混合apk的更新本文为cordova混合开发apk更新的系列文章的第一篇文章:H5部分的更新。混合应用的开发也已经火到了一定程度了,大家写h5的技术也到了炉火纯青的地步了。那么对于对原生了解比较少的小伙伴来说,apk的更新、发包可能还是一笔糊涂账。对于混合开发来讲,一般更新分为两种:h5部分的更新,原生外壳的更新。下面我们来讲一下基于插件的h5部分热更新的实现流程及注意

2016-11-29 14:01:19 2172

原创 微信小程序开发<二>文件结构解析

微信小程序的文件介绍、app.js、app.json的参数介绍

2016-10-15 18:40:49 630

原创 微信小程序开发<一>工具安装及项目结构介绍

一、微信小程序介绍1、什么是微信小程序传说中的微信“应用号”终于要来了,但它的正式名称很有可能是“微信小程序”。那么什么是小程序呢?小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。 小程序传承了企业号、服务号:触手可得,不用安装,用

2016-10-15 16:10:50 4022

原创 利用JS对象的特性去除数组中的重复项

数组去重的方法有很多,不同的方法的效率也不相同。本文介绍了另一种数组去重的方法:根据JS对象的特性去除数组中重复项的方法。一、JS对象的特性(本文中所使用的特性):key始终唯一 引例:说明对象key值的唯一性,即当重新给js已有属性赋值的时候,实际上是覆盖了key,而不是新建了key

2016-10-08 11:26:52 3333

原创 JavaScript中的Array操作(ECMA5新特性)

ECMA5中的数组新特性。例如:元素定位、元素迭代循环方法等等实用的方法

2016-09-27 22:41:45 455

原创 JavaScript中的数据类型

JavaScript的语法核心源自于ECMAScript,所以它的数据类型与ES基本相同。下面来简单介绍一下ES5中的一些数据类型及其定义。数据类型数据类型分为两个:基本类型和引用类型基本类型:Number、Boolean、String、Undefined、NullNumber:整数、小数(最高精度17位小数)、NaN、Infinit(正无穷),-Infinity(负无穷)

2016-09-24 22:11:08 408

空空如也

空空如也

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

TA关注的人

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