自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 修改mysql的root密码的多种方式

方法一: 用SET PASSWORD命令首先登录mysql利用登录sql命令: mysql -uroot -p[自己设置的密码]然后就可以执行更改密码的命令了:格式: mysql> set password for (用户名@localhost) = password(‘新密码’);例子: mysql> set password for root@localhost = password(‘123’);方法二: 用mysqladmin首先登录mysql利用登录sql命令: m

2022-04-21 23:48:14 3795

原创 class类的语法和继承

class的基本语法简介ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板。通过class关键字,可以定义类。原始构造函数的写法function Point(x,y){ this.x = x; this.y = y}Point.prototype.toString = function(){ return `(${this.x},${this.y})`}var p = new Point(1,2)class 写法cl

2022-04-21 22:35:52 340

原创 async, await和promise的区别及用法

promise基础用法1、new 一个promise对象2、异步代码写在promise的函数中3、promise接受两个参数,一个resolve(已成功),一个reject(已失败)4、promise有三种状态pendding(进行中,当new了promise就是pendding的状态)、fulfilled(已成功)、rejected(已失败),当成功的时候调用resolve将状态改为已成功,当失败的时候调用reject将状态改为已失败,一旦状态发生改变之后,状态就凝固了,后面就无法改变状态了,成功

2022-04-21 22:14:15 333

原创 this new call apply bind 应用

this new apply call bind虽然标题是 this、new、bind、call、apply,但实际上这些都离不开 this,因此本文将着重讨论 this,在此过程中分别讲解其他知识点。注意: 本文属于基础篇,如果你已经对本文相关知识点已经很了解了,那么可以跳过本文。如果你不够了解,或者了解的还不完整,那么可以通过本文来复习一下 1. this 指向的类型刚开始学习 JavaScript 的时候,this 总是最能让人迷惑,下面我们一起看一下在 JavaScript 中应该如何确定

2022-04-21 22:03:28 75

原创 3JavaScript执行上下文栈

执行上下文栈js代码执行顺序是什么,大部分人都知道同步执行var foo = function(){ console.log('foo1'); } foo(); // foo1 var foo = function(){ console.log('foo2'); } foo() // foo2然后看以下下面代码 function foo(){

2022-04-21 22:02:09 55

原创 let, const与var的区别

let基本用法ES6 新增了let命令,用来声明变量。它们的用法类似于var,但是所声明的变量,只在其命令所在的代码块内有效。{var a = 1;let b = 2;}console.log(a) // 1console.log(b) // ReferenceError: a is not defined.上面代码在代码块中,分别用var,let声明了两个变量。然而在代码之外调用者两个变量,结果let声明的变量报错,var声明的变量返回了正确的赋值。这表明,let声明的变量只在它所

2022-04-21 21:59:57 75

原创 js继承之原型继承

面向对象编程都会涉及到继承这个概念,JS中实现继承的方式主要是通过原型链的方法。一、构造函数、原型与实例之间的关系每创建一个函数,该函数就会自动带有一个prototype属性。该属性是个指针,指向了一个对象,我们称之为原型对象.。什么是指针?指针就好比学生的学号,原型对象则是那个学生。我们通过学号找到唯一的那个学生。假设突然,指针设置 null, 学号重置空了,不要慌,对象还存在,学生也没消失。只是不好找了。原型对象上默认有一个属性constructor,该属性也是一个指针,指向其相关联的构造函数。

2022-04-21 21:58:56 68

原创 node与js的关系

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言。js(JavaScript)是一种高级的、解释型的编程语言;它是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面向对象编程,命令式编程,以及函数式编程。传统的js是运

2022-04-21 21:58:10 1820

原创 js中的this知识点

前言在《JavaScript深入之执行上下文栈》中讲到,当JavaScript代码执行一段可执行代码(executable code)时,会创建对应的执行上下文(execution context)。对于每个执行上下文,都有三个重要属性变量对象(Variable object,VO)作用域链(Scope chain)this今天重点讲讲 this,然而不好讲。……因为我们要从 ECMASciript5 规范开始讲起。先奉上 ECMAScript 5.1 规范地址:英文版:http:/

2022-04-21 21:54:23 100

原创 js中的作用域和动态作用域

作用域作用域是指程序源代码中定义变量的区域。作用域规定了如何查找变量,也就是确定当前执行代码对变量的访问权限。JavaScript 采用词法作用域(lexical scoping),也就是静态作用域。静态作用域与动态作用域因为 JavaScript 采用的是词法作用域,函数的作用域在函数定义的时候就决定了。而与词法作用域相对的是动态作用域,函数的作用域是在函数调用的时候才决定的。让我们认真看个例子就能明白之间的区别:var value = 1;function foo() { c

2022-04-21 21:51:36 75

原创 深入理解js闭包

一、什么是闭包?官方”的解释是:闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。相信很少有人能直接看懂这句话,因为他描述的太学术。其实这句话通俗的来说就是:JavaScript中所有的function都是一个闭包。不过一般来说,嵌套的function所产生的闭包更为强大,也是大部分时候我们所谓的“闭包”。看下面这段代码:function a() { var i = 0; function b() { alert(++i); }

2022-04-20 21:55:38 58

原创 js中的同步与异步

一、单线程(1)单线程的概念如果大家熟悉java,应该都知道,java是一门多线程语言,我们常常可以利用java的多线程处理各种各样的事,比如说文件上传,下载等,而JavaScript是否也可以支持多线程呢?答案是否定的,JavaScript是一门单线程的语言,因此,JavaScript在同一个时间只能做一件事,单线程意味着,如果在同个时间有多个任务的话,这些任务就需要进行排队,前一个任务执行完,才会执行下一个任务,比如说下面这段代码// 同步代码function fun1() { conso

2022-04-20 21:55:01 4664

原创 js实现放大镜

完整版的html,css,js代码如下:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"&gt

2022-04-20 21:54:18 403

原创 js实现轮播图

轮播图作为前端比较简易的动画,使用非常频繁,这里记录以便使用此轮播图为最简易自动播放,无缝轮播,有按钮,有序号跳转小点html布局如下:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport"

2022-04-20 21:53:46 69

原创 js缓慢动画的函数封装

缓动动画的原理就是让盒子移动的速度开始快到结束慢的步骤,有一种视觉舒服的作用.完整版的函数封装如下: // 思路: // 1. 让盒子每次移动的距离慢慢变小, 速度就会慢慢落下来 // 2. 核心算法: (目标值 - 现在的位置) /10 作为每次移动的距离 步长 // 3. 停止的条件, 让当前盒子位置等于目标位置就停止计时器 function animate(obj,target,callback){ // 先清除以前的定时器

2022-04-20 21:53:15 95

原创 封装函数实现三级联动的实现

完整版的代码如下:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <t

2022-04-20 21:52:27 91

原创 封装函数形式实现二级联动

完整版的代码如下:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <t

2022-04-20 21:51:59 99

原创 分支语句和循环语句

流程控制1. 顺序结构: 代码自上而下执行2. 分支结构: 常用的 if else switch3. 循环结构: for while do while分支结构1. if if(判断条件){ 执行代码 } 如果判断条件成立(true)则执行{}里面的代码 否则直接跳过2. if else if(判断条件){ 执行代码一 } else { 执行代码二 } 如果 判断条件成立(true)则执

2022-04-20 21:51:17 56

原创 日期对象data及数学对象math

js内置对象之Math数学对象 生成一个0-1之间的随机数(不包括1) Math.random(); 生成一个0-5之间的随机数(不包括5) Math.random()*5; 生成一个5-10之间的随机数(不包括10) Math.random()*5+5; 取整, 向上取整(进1取整) Math.ceil(1.2) // 结果为2 向下取整(退1取整 Math.floor(5.6)) // 结果为5 生成一个0-5的随机整数 Math.floor

2022-04-20 21:50:11 74

原创 html中常用的表单

``<!-- action 提交的地址 method 请求方式 常用的有get和post --><form action="target.html" method="get"> <!-- input输入框 type 类型 --> 用户名: <input type="text" name="username"><br> <!-- &emsp; 中文空格 &nbsp; 英文空格 -->

2022-04-20 21:48:53 238

原创 递归深拷贝

手写递归方法递归方法实现深度克隆原理:遍历对象、数组直到里边都是基本数据类型,然后再去复制,就是深度拷贝特点: 可以实现多层数据结构的深拷贝在平时操作时,会经常用到深拷贝的方式,为了下次使用节约时间,我直接将深拷贝封装成函数形式方便以后使用.function deepCopy(data){ var _data; // 初始化结果,因为结果可能为js任意类型,所以没有赋值. // 1. 先验证data是什么类型的数据 // 如果是基本数据类型,那么直接赋值_data if(!(dat

2022-04-19 12:41:32 349

原创 深拷贝与浅拷贝

数据类型数据类型分为1: 基本数据类型(Number,String,Boolean,Undefined,Null)特点: 直接存储在栈中的数据2: 引用型数据类型(数组,对象,函数)特点: 存储的是该对象在栈中引用,真实的数据存放在堆内存里面引用数据类型在栈中存储了指针,该指针指向堆中该实体的起始地址.当解释器寻找引用值时,会首先检索其在栈中的地址,取得地址后从堆中获得实体!!深拷贝与浅拷贝深拷贝特点: 深拷贝会另外创建一个一模一样的对象,新对象和原对象不共享内存,修改新对象不会

2022-04-19 12:40:34 27

原创 js常用api

push()作用:向数组的末尾添加一个或多个元素参数:要添加到数组的元素返回值:返回数组的长度pop()作用:用于删除数组的最后一个元素并返回删除的元素参数:无参返回值:返回删除的元素unshift()作用:向数组的末尾添加一个或多个元素参数:要添加到数组的元素返回值:返回数组的新长度shift()作用:把数组的第一个元素从其中删除,并返回第一个元素的值参数:无参返回值:数组原来第一个元素的值splice(start,end,new)作用:用于添加或删除数

2022-04-19 12:36:00 150

空空如也

空空如也

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

TA关注的人

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