自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【前端面试】常见问题小结

1、如何在node中操作MongoDB数据库node端常见用来操作MongoDB数据库的两个驱动程序(插件)是mongodb和mongoosemongodb插件使用时需要写终端中使用的增删改查语句,使用起来相对繁琐mongoose插件则在终端命令的基础上进行了封装,通过定义一个model模型的方式,在模型的基础上调用封装好的增删改查API对数据库进行操作,从而代码更加简洁,可读性更好。使用mongoose时需要注意的是,对于查询到的mongoose对象,若想往该对象中新增属性,必须提前在model中

2020-08-13 23:23:20 519

原创 【前端面试】6种方法实现数组扁平化(数组降维)

本文内容1、介绍数组扁平化(数组降维)的核心思想2、使用6种方法实现数组扁平化核心思想效果// 源数组:[1, [2, [3, [4, 5]]]]// 降维后数组:[1, 2, 3, 4, 5]思路对源数组的所有元素进行遍历,判断遍历的元素是否为数组,若不是数组则.concat()进之前的计算结果中(初始计算结果为空数组[] ),若是数组则递归调用函数继续遍历。6种实现方法1、lodash插件let arr = [1, [2, [3, [4, 5]]]];let .

2020-06-28 17:06:09 2240

原创 【前端面试】比较call、apply和bind,手写bind

本文内容1、比较call、apply、bind的相同点和不同点2、手写简单的call、apply、bind比较call、apply和bind相同点都是用于改变this指向;传递参数时,第一个参数是需要改变成的this指向。不同点call传递参数时,从第二个参数开始依次进行传递;apply传递参数时,第二个参数是一个数组,数组里面的每一项依次是向函数传递的参数;bind不会立即执行函数,而是返回一个改变了this指向的新函数,使用bind时可以直接传递参数(优先级高),也可以在新.

2020-06-23 22:03:49 259

原创 【前端面试】深浅拷贝的方法、手写深拷贝函数

本文内容:1、三种方法实现对象的浅拷贝2、两种方法实现对象的深拷贝3、实现简单的深拷贝函数浅拷贝方法1:Object.assign()数组let arr = [1, 2, 3, [10, 20, 30]];let newArr = Object.assign(arr);newArr[3][0] = 100;console.log(arr);console.log(newArr);// [ 1, 2, 3, [ 100, 20, 30 ] ]// [ 1, 2, 3, [ .

2020-06-22 21:29:41 946

原创 阿里云服务器Ubuntu系统搭建LNMP环境

Ubuntu18.04(阿里云服务器)搭建LNMP环境+Wordpress站点一、搭建LNMP环境1. Nginx 安装更新软件源sudo apt-get update2. MySQL安装3. PHP 安装二、安装Wordpress

2020-03-29 22:20:11 391

原创 Javascript之封装运动函数

文章目录阶段一、仅适用单位带px属性的匀速运动阶段二、可适用单位不带px属性(如opacity)的匀速运动阶段三、适用于多元素单一属性的匀速运动阶段四、适用于多元素单一属性的匀速或缓冲运动阶段五、适用于多元素多属性的匀速或缓冲运动总结本文采取逐步深入的方式讲解原生JS封装运动函数的过程,封装结果适用于元素大部分属性的运动,运动方式将根据需求持续更新,目前主要支持常用的两种:匀速运动和缓冲运...

2020-03-23 00:22:18 266

原创 Javascript之网页版待办事项

本文使用原生JS实现站点 http://www.todolist.cn/ 的基本功能。其中页面的HTML布局和CSS样式取用原站,JS部分为自己编写。效果图完整代码HTML、JS部分<!DOCTYPE html><html> <head> <title>ToDoList—最简单的待办事项列表</title> &...

2020-03-14 18:00:48 1712

原创 Javascript之盒子拖拽(跟随鼠标、边界限定、轨迹回放)

本文通过拖拽案例,实现“跟随鼠标、边界限定、轨迹回放”三大效果;完整代码中有详尽注释,故不再进行细致讲解;对于案例中需要注意的重点或易错点问题,会总结在最后。效果图(仅演示左、上边界限定)完整代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> ...

2020-03-14 14:14:23 1631

原创 Javascript之页面倒计时

本文将从需求实现的角度,逐步讲解如何在页面上实现倒计时效果,其中部分涉及到的知识会做拓展讲解,最后将所有代码封装,适用于不同情况下倒计时功能的实现。一、分析需求要实现倒计时效果,可拆解为以下三个部分进而逐个击破:1、 使用Date方法计算对应倒计时的数据并返回2、 利用DOM操作将得到的数据渲染到页面中3、 通过JavaScript原生API(setInterval或setTimeo...

2020-03-08 22:14:05 533

原创 Javascript之条件、循环、函数、递归、数组、字符串、Date练习题

1.判断三个数的大小,并从小到大排列var num1 = +prompt("请输入数字:");var num2 = +prompt("请输入数字:");var num3 = +prompt("请输入数字:");if(num1 > num2 && num1 > num3){ if(num2 > num3){ alert(num3 + "," + num...

2020-03-03 22:56:05 2786

原创 Javascript之深入浅出递归思想

一、递归函数的理解1、生活中的递归“递归”在生活中的一个典例就是“问路”。如图小哥哥进入电影院后找不到自己的座位,问身边的小姐姐“这是第几排”,小姐姐也不清楚便依次向前询问,问至第一排的观众后依次向后反馈结果,“我是第一排”,“我是第二排”,···,最终确定自己座位所在排数。在这个过程中充分反应了“传递”(询问)和“回归”(反馈)的思想,故将这种现象称为“递归”。2、编程中的递归计算...

2020-03-01 01:13:45 2400 3

原创 CSS之深入浅出理解BFC

一、BFC是什么?官方定义BFC(Block Formatting Context,块格式化上下文) 是Web页面的可视化CSS渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素与其他元素交互的区域。详见MDN看不明白?那就对了!官方解释若不搞得抽象难懂些,怎能显出高大上?!(手动滑稽)个人理解1、BFC是一个独立的布局环境,BFC内部的元素布局与外部互不影响;2、可以通过一...

2020-02-23 15:35:22 638

空空如也

空空如也

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

TA关注的人

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