- 博客(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中数据类型判断
在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
原创 微信小程序组件: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
原创 微信小程序开发<一>工具安装及项目结构介绍
一、微信小程序介绍1、什么是微信小程序传说中的微信“应用号”终于要来了,但它的正式名称很有可能是“微信小程序”。那么什么是小程序呢?小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。 小程序传承了企业号、服务号:触手可得,不用安装,用
2016-10-15 16:10:50
4022
原创 利用JS对象的特性去除数组中的重复项
数组去重的方法有很多,不同的方法的效率也不相同。本文介绍了另一种数组去重的方法:根据JS对象的特性去除数组中重复项的方法。一、JS对象的特性(本文中所使用的特性):key始终唯一 引例:说明对象key值的唯一性,即当重新给js已有属性赋值的时候,实际上是覆盖了key,而不是新建了key
2016-10-08 11:26:52
3333
原创 JavaScript中的数据类型
JavaScript的语法核心源自于ECMAScript,所以它的数据类型与ES基本相同。下面来简单介绍一下ES5中的一些数据类型及其定义。数据类型数据类型分为两个:基本类型和引用类型基本类型:Number、Boolean、String、Undefined、NullNumber:整数、小数(最高精度17位小数)、NaN、Infinit(正无穷),-Infinity(负无穷)
2016-09-24 22:11:08
408
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人