- 博客(25)
- 资源 (3)
- 收藏
- 关注
原创 JS中==的判断原理
每条规则都可能是由其他规则推算出来的,每一条规则并非都是独立的,JS规定null和undfined永远相等,因为undfined是null衍生出来的。0 == null,undefined (匹配到第5条规则)0 == 字符串 (匹配到第2条规则)0 == 对象 (匹配到第3条规则)0 == 数字类型 (直接比较了)
2023-05-08 17:52:47
235
原创 使用原生HTML、CSS、JS实现简易聊天框
使用原生HTML实现简易聊天框。1、第一种方式<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title></title> <style> *{ margin: 0; padding: 0; } body{
2022-05-23 14:33:12
3026
原创 CSS旋转木马,照片墙
使用CSS来实现3D旋转照片墙的效果<!DOCTYPE html><html><head> <meta charset="utf-8"> <title></title></head><style> body {background-color: #000;} .box { width: 300px; height: 400px; margin: 0px auto; margin-
2021-12-07 15:07:26
226
原创 JS创建虚拟DOM节点
创建虚拟DOM之前先看一下什么是DOM,DOM生成的节点是由浏览器直接管理的,开发中免不了操作DOM进行增删改查,当每次删除或新增节点的时候都需要重新渲染新的DOM,所以性能也就没那么好了。虚拟DOM节点就可以解决这一性能问题,解决的原理是不直接渲染DOM元素,而是用一个变量来存储这些节点然后渲染进去,如果需要对节点进行操作只需要操作这个变量即可,这样不会重新渲染节点,因为你操作的只是一个变量。创建虚拟DOM的例子:<!DOCTYPE html><html lang="en">
2021-12-07 11:51:10
1768
原创 JS实现双向绑定的几种方式
记录JS三种双向绑定1、第一种是通过Proxy数据代理来达到双向绑定的,这是Vue3更新的双向绑定方式。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Proxy双向绑定</title></head><body> <div id="app"> <h3 id=
2021-12-07 09:48:53
4802
1
原创 JavaScript获取当前时间(结果以2022年为例)
使用JavaScript获取当前时间,以2022年举例let date=new Date();date.getYear();//获取当前年份(2位),结果:122date.getFullYear();//获取完整的年份(4位),结果:2022date.getMonth();//获取当前月份(0-11,0代表1月),因为从0开始,所以结果要+1才是正确月份,结果:11date.getDate();//获取当前日(1-31),结果:6date.getDay();//获取当前星期X(0-6,
2021-12-06 17:34:35
2216
原创 Vue中vue.config.js文件的常用配置
这里只记录本人常用配置,更多配置详见官网。module.exports = { /** * 区分打包环境与开发环境 * process.env.NODE_ENV==='production' (打包环境) * process.env.NODE_ENV==='development' (开发环境) * baseUrl: process.env.NODE_ENV==='production'?"https://xxx":"" **/ /** * 项目部署的基础路径 * base
2021-12-06 13:50:32
406
原创 Vue组件通信【父传子、子传父、兄弟传值、无关系组件之间通信】
1、父传子子组件<template> <div>{{content}}<div></template>export default{ props:["content"] data(){ return{content} }, methods:{ init(){ this.content=this.$props.ElDialogList.title; } }}父组件<template> <div @
2021-12-06 11:29:42
777
原创 Node编写一个服务器使用模块式开发连接数据库编写接口(express框架)
使用express启动一个服务器监听端口。1、本步骤实现Node搭配express启动一个服务器并且监听2022端口。let express = require("express"), app = express();//引入expresslet server = app.listen(2022, () => { // 通过listen()方法监听端口 console.log("服务器启动成功!")});2、本步骤实现携带响应头信息。app.all('*', function (
2021-11-29 17:41:14
1245
原创 JS数组的常用操作
数组中的常用操作1、push():作用:向数组末尾增加一个到多个元素。let a=['a','b','c'];a.push("w");console.log(a) //输出['a','b','c','w']2、unshift():作用:向数组开头增加一个到多个元素。let a=['a','b','c'];a.unshift("w");console.log(a) //输出['w','a','b','c']3、pop():作用:删除并返回数组末尾的第一个元素。let a=['a','b
2021-11-23 16:45:27
693
原创 JS生成唯一标识ID
JS生成唯一标识生成原理,利用时间戳+随机字母生成,永远不会重复。function algorithm(){ let abc=['a','b','c','d','e','f','g','h','i','g','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']; let [max,min]=[Math.floor(Math.random()*(10-7+1)+1),Math.floor(Math.random()*(17-1
2021-11-23 15:42:41
7656
原创 js实现快速排序
快速排序快速排序实现代码:function quickSort(arr) {//创建公共方法 if (arr.length <= 1) return arr;//判断调用方法时传入的数组长度是否小于等于1 var left = [],right=[],middle=arr[0]//定义左右边的数组和基准数 for (let i = 1; i < arr.length; i++) {//循环比较,因为找的基准数是数组第一位数字,所以循环从下标为1的开始循环。 arr[i] >
2021-11-23 11:20:18
898
原创 查询树状图的值
查询树状图某个值前言:树状图的数据为层层嵌套的对象,如何在嵌套的对象中查询某个值是否存在呢?下面这段代码就可以实现function GetTree(list) { //定义公共方法,该方法接收一个要查询的数组对象。 let arr = []; //定义一个空数组,用来存储筛选出来的数据 function GetListItem(list) { //定义一个闭包,该闭包接收外层的数组对象 list.forEach(item => { //在闭包内遍历数组对象,(解释:在闭包内遍历的原因是因
2021-11-23 11:04:38
328
原创 es6中的变量声明
es6中的变量声明1、var:如果在方法中声明,则为局部变量;如果在全局中声明,则为全局变量。1、存在变量提升2、var声明的变量可以先赋值后声明2、let:和var的写法一样,作用也是声明变量。1、但是不存在预解析(没有提升)2、也不允许重复声明,在ES6中新增了块级作用域:只要是花括号,就是一个作用 域,它不是函数。3、let声明的时候可以不赋值4、let声明的变量有块作用域的概念,而var声明的变量没有块作用域的概念,在 块作用域外也可以使用。3、const:和let
2021-01-27 15:24:54
221
1
原创 Vue的生命周期
Vue的生命周期什么是生命周期?一个组件从开始到最后消亡所经历的各种状态,就是一个组件的生命周期1、beforeCreate(创建前)说明:在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。注意:此时DOM没有渲染,无法获取 data中的数据、methods中的方法。但是$route已存在,可以根据路由信息进行重定向等操作。2、 created(创建后)说明:这是一个常用的生命周期,可以访问data,使用watcher、events
2021-01-19 19:34:21
262
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人