自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SQL 入门学习记录—09——记录排序

1.有时候查找出来的数据是杂乱无章的,或者想按照我们的思想来排序这时候就用到了排序 order by ascorder by transactionid asc --如果是升序的话,asc可以不写2.降序 order by descorder by transactionid desc...

2021-05-08 15:57:48 154

原创 SQL 入门学习记录—08——子查询 exists

select a.studentno, a.studentname, a.age, a.sex from [dbo].[Students] a -- 起别名,这里a就代表了这张表where exists (select * from [dbo].[student_lesson] b where a.studentno = b.StudentNo);-- 全查出来b表的数据 起别名 a的studentno字段 等于b的studentno的字段

2021-04-20 17:27:59 154

原创 SQL 入门学习记录—07——子查询 in

1.inselect * from [dbo].[Table_1]where StudentNo in (1501,1503,1505)表示我想查询 [dbo].[Table_1]这个数据库里面StudentNo(学号) 属性类别中的1501,1503,1505数据这和之前的between是不一样的,between是一个范围,多少到多少,而in可以理解为一个一个拎出来。2.not in相反我也可以不让这几个数据查询出来,用not in这样查询出来的数据就没有1501,1503,150

2021-04-08 10:56:01 1076

原创 SQL 入门学习记录—06-between语法+getdate()自带函数

1.select * from [dbo].[gm_pstructure]where Id between ‘WH-AQW-05-1-1203’ and ‘WH-AQW-05-1-1440’and前面是开头,后面是结尾,查找出来的数据是WH-AQW-05-1-1203 和WH-AQW-05-1-1440之间的数据上面我是想查找某一段的数据,相反,现在我想要排除某一段数据,比如现在我想排除WH-AQW-05-1-1203——WH-AQW-05-1-1440之间的数据。就是在between前面加一个

2021-04-07 15:35:38 320

原创 SQL 入门学习记录—05-条件限制where * like

select * from [dbo].[userinfo1]where id = ‘2’翻译:表示只会显示id为2的数据2.like —— 粗略查找select * from [dbo].[userinfo1]where username like ‘%三’这样出来的数据都是和三有关的,%可以理解为不限制,比如放在三前面,那么x三或者xx三等,都会搜索出来,反之%在三后面,那么x三或者xx三就不会被搜索出来,出来的只会是三x或者三xx等等数据。前后都有百分号,就说明不管开头结尾,只要有

2021-04-07 09:32:31 304

原创 SQL 入门学习记录—02-删除表记录

select * from PayType //先查找这个数据库的数据delete from [dbo].[userinfo] //需要删除数据的表是[dbo].[userinfo]where sysno = 5; //添加条件,sysno是5的才会删除

2021-04-02 11:21:15 129

原创 SQL 入门学习记录—03-修改表记录

select * from [dbo].[userinfo] //先将这表查询出来where sysno = 61; //添加条件,我要查找[dbo].[userinfo]这个数据库里面的sysno = 61的属性, 查找出来update [dbo].[userinfo] //update修改的意思,修改[dbo].[userinfo] 数据库里面的东西set PayTypeName = ‘账期支付’ //set字段名称,把PayTypeName里面的值修改为 ‘账期支付’where s

2021-04-02 10:54:56 138

原创 SQL 入门学习记录—01-新增表记录

SQL脚本插入写法insert into userinfo1(userid, username, email)value(’’,’’,’’)翻译:到userinfo1表里面,选择需要的栏名称,value里面填想要的值,和上面栏名称对应2.从别的数据库拿到数据,插入到现在的数据库insert into userinfo1(userid, username, email)select userid,username,email from [dbo].[userinfo]翻译:表示的是查找到[db

2021-04-01 17:30:47 169

原创 SQL 入门学习记录—04-查询表记录

1.使用脚本创建SQL数据库注意点:第四行filename文件地址需提前创建,不会自动生成

2021-03-30 09:30:49 122

转载 为什么不把 css 样式写在在 .vue 文件中

为什么不把 css 样式写在在 .vue 文件中看过很多 vue 项目的代码, 发现很多人喜欢把样式写在组件了, 其原因大部分是为了方便, 好维护, 也很多人喜欢滥用scoped属性, 官方的 vue-hackernews-2.0 的实例也是这么做的, 但是个人却不太喜欢这么做, 原因有以下几点:构建速度会变慢写在组件的 style 里的样式会先经过vue-loader再走less-loader或者css-loader, 无形中增加了编译时间在用了 scope 属性后, 生成的 js 文件和

2020-10-21 22:45:52 793 1

原创 10.20 掘金笔记

改变我们的url但是页面不刷新history.replaceState({},’’,‘home’) url地址后面会加上homehistory.replaceState({},’’,‘about’) url地址后面也会改变成about,但是返回按钮不能点击,因为replace替换的意思,所以用最新的about替换之前的home,不存在压栈和出栈history.pushState({},’’,‘home’) 栈底history.pushState({},’’,‘about’) 中间his

2020-10-20 23:43:17 310

原创 同行兄弟出去面试题的汇总 2020-7-19

1.普通数据类型(1)普通数据类型有哪些?​ 字符串型string: 数值型number,:undefined:null,:布尔型boolean复杂数据类型有Object Array Date(2如何检测类型?console.log(typeof data) instanceof Array.isArry()(3如何转换数据类型?转字符串​ 数据.toString()​ String(数据)​ 隐式转换:数据+’ ’Join(‘分割符’)转数值Number必须是纯数字(数据)

2020-10-20 00:16:34 674 1

原创 数组的15种方法

22:43 2020/7/311.数组的15种方法push 在尾部添加 返回数组长度unshift 在头部添加 返回数组长度pop() 在尾部删除shift() 在头部删除slice() 开始位置,结束位置,若只有一个参数,即无结束位置参数,则从开始到结束若结束位置大于开始位置,则返回空数组splice() 开始位置,删除个数 返回删除的元素reverse() 翻转数组map() 和foreach类似,此方法是将数组中的每个元素调用

2020-10-20 00:13:34 136

原创 前端朋友出去问到的面试题 2020-10-9

1、var let const 区别 暂时性死区 函数提升优先于变量提升,函数提升会把整个函数挪到作用域顶部,变量提升只会把声明挪到作用域顶部 var 存在提升,我们能在声明之前使用。 let 、 const 因为暂时性死区的原因,不能在声明前使用 var 在全局作用域下声明变量会导致变量挂载在 window 上,其他两者不会 let 和 const 作用基本一致,但是后者声明的变量不能再次赋值2、js 如何实现继承, class、原型继承、组件继承 1 > 改变原型对象的

2020-10-19 23:21:24 209 1

原创 2020 Vue 必刷面试题

vue.js的两个核心是什么?答案 : 数据驱动和组件化。2 .vue的生命周期,哪个生命周期可以看到this,第一个发送请求的是哪一个?答案 : 8个钩子函数 以及特点3.vue 的双向绑定的原理是什么?答案 :vue数据双向绑定是通过数据劫持结合发布者-订阅者模式的方式来实现的。具体实现过程:我们已经知道实现数据的双向绑定,首先要对数据进行劫持监听,所以我们需要设置一个监听器Observer,用来监听所有属性。如果属性发上变化了,就需要告诉订阅者Watcher看是否需要更新。因为订阅者.

2020-10-19 23:17:30 380

原创 Vuex

###1.Vuex概述Vuex是实现组件全局状态(数据)管理的一种机制,可以方便的实现组件之间的数据共享使用Vuex管理数据的好处:A.能够在vuex中集中管理共享的数据,便于开发和后期进行维护B.能够高效的实现组件之间的数据共享,提高开发效率C.存储在vuex中的数据是响应式的,当数据发生改变时,页面中的数据也会同步更新###2.Vuex的基本使用创建带有vuex的vue项目,打开终端,输入命令:vue ui当项目仪表盘打开之后,我们点击页面左上角的项目管理下拉列表,再点击Vue项目管理器

2020-10-16 23:08:56 97

原创 电商项目 07

###1.项目优化实现步骤:A.生成打包报告,根据报告优化项目B.第三方库启用CDNC.Element-UI组件按需加载D.路由懒加载E.首页内容定制###2.添加进度条给项目添加进度条效果,先打开项目控制台,打开依赖,安装nprogress打开main.js,编写如下代码//导入进度条插件import NProgress from 'nprogress'//导入进度条样式import 'nprogress/nprogress.css'.....//请求在到达服务器之前,先会调

2020-10-16 23:03:05 126

原创 电商项目 06

###1.添加商品####A.完成图片上传使用upload组件完成图片上传在element.js中引入upload组件,并注册因为upload组件进行图片上传的时候并不是使用axios发送请求所以,我们需要手动为上传图片的请求添加token,即为upload组件添加headers属性//在页面中添加upload组件,并设置对应的事件和属性<el-tab-pane label="商品图片" name="3"> <!-- 商品图片上传 action:指定图片上传api接口

2020-10-16 23:02:19 80

原创 电商项目 05

###1.参数管理####A.展示动态参数可选项动态参数可选项展示及操作在获取动态参数的方法中进行处理。//将获取到的数据中的attr_vals字符串转换为数组res.data.forEach(item => { item.attr_vals = item.attr_vals ? item.attr_vals.split(' ') : [] //添加一个bool值控制文本框的显示或者隐藏 item.inputVisible = false //添加一个inputValue保存

2020-10-16 23:01:31 67

原创 电商项目 04

###1.商品分类####A.新建分支goods_cate新建分支goods_cate并推送到码云git checkout -b goods_categit push -u origin goods_cate####B.创建子级路由创建categories子级路由组件并设置路由规则import Cate from './components/goods/Cate.vue'path: '/home', component: Home, redirect: '/welcome', childr

2020-10-16 23:00:39 67

原创 电商项目 03

###1.修改用户信息A.为用户列表中的修改按钮绑定点击事件B.在页面中添加修改用户对话框,并修改对话框的属性C.根据id查询需要修改的用户数据//展示编辑用户的对话框async showEditDialog(id) { //发送请求根据id获取用户信息 const { data: res } = await this.$http.get('users/' + id) //判断如果添加失败,就做提示 if (res.meta.status !== 200) retu

2020-10-16 22:59:41 45

原创 电商项目 02

###今日目标1.实现后台首页的基本布局2.实现左侧菜单栏3.实现用户列表展示4.实现添加用户###1.后台首页基本布局打开Home.vue组件,进行布局:<el-container class="home-container"> <!-- 头部区域 --> <el-header>Header<el-button type="info" @click="logout"> 退出 </el-button></el-heade

2020-10-16 22:57:45 51

原创 电商项目 01

###1.电商业务概述客户使用的业务服务:PC端,小程序,移动web,移动app管理员使用的业务服务:PC后台管理端。PC后台管理端的功能:管理用户账号(登录,退出,用户管理,权限管理),商品管理(商品分类,分类参数,商品信息,订单),数据统计电商后台管理系统采用前后端分离的开发模式前端项目是基于Vue的SPA(单页应用程序)项目前端技术栈:Vue,Vue-Router,Element-UI,Axios,Echarts后端技术栈:Node.js,Express,Jwt(模拟session),M

2020-10-16 22:54:09 209

原创 前端的模块化

###1.模块化的分类####A.浏览器端的模块化1).AMD(Asynchronous Module Definition,异步模块定义)代表产品为:Require.js2).CMD(Common Module Definition,通用模块定义)代表产品为:Sea.js####B.服务器端的模块化服务器端的模块化规范是使用CommonJS规范:1).使用require引入其他模块或者包2).使用exports或者module.exports导出模块成员3).一个文件就是一个模块,都拥

2020-10-16 22:34:07 52

原创 Vue 路由

###1.路由的概念路由的本质就是一种对应关系,比如说我们在url地址中输入我们要访问的url地址之后,浏览器要去请求这个url地址对应的资源。那么url地址和真实的资源之间就有一种对应的关系,就是路由。路由分为前端路由和后端路由1).后端路由是由服务器端进行实现,并完成资源的分发2).前端路由是依靠hash值(锚链接)的变化进行实现后端路由性能相对前端路由来说较低,所以,我们接下来主要学习的是前端路由前端路由的基本概念:根据不同的事件来显示不同的页面内容,即事件与事件处理函数之间的对应关系

2020-10-16 22:29:48 67

原创 Webpack的安装以及简单的使用流程,此篇呆萌到入门

webpack官网:webpack官网1.什么是webpack?这个webpack还真不是一两句话可以说清楚的。官方解释:At its core, webpack is a static module bundler for modern JavaScript applications.翻译:从本质上来讲,webpack是一个现代的JavaScript应用的静态模块打包工具。官网示意图:拆分开理解什么是webpack那就是 模块 和 打包前端模块化:我相信大家都知道为什么前端需要模块化

2020-10-06 22:48:28 167

原创 Vue基础 day4

接口调用方式原生ajax基于jQuery的ajaxfetchaxios异步JavaScript的执行环境是「单线程」所谓单线程,是指JS引擎中负责解释和执行JavaScript代码的线程只有一个,也就是一次只能完成一项任务,这个任务执行完后才能执行下一个,它会「阻塞」其他任务。这个任务可称为主线程异步模式可以一起执行多个任务JS中常见的异步调用定时任何ajax事件函数promise主要解决异步深层嵌套的问题promise 提供了简洁的API 使得异步操作更加容

2020-09-03 09:28:07 56

原创 Vue基础 day3

组件组件 (Component) 是 Vue.js 最强大的功能之一组件可以扩展 HTML 元素,封装可重用的代组件注册全局注册Vue.component(‘组件名称’, { }) 第1个参数是标签名称,第2个参数是一个选项对象全局组件注册后,任何vue实例都可以用组件基础用<div id="example"> <!-- 2、 组件使用 组件名称 是以HTML标签的形式使用 --> <my-component></my-

2020-09-03 09:26:39 70

原创 Vue基础 day2

Vue常用特性表单基本操作获取单选框中的值通过v-model <!-- 1、 两个单选框需要同时通过v-model 双向绑定 一个值 2、 每一个单选框必须要有value属性 且value 值不能一样 3、 当某一个单选框选中的时候 v-model 会将当前的 value值 改变 data 中的 数据 gender 的值就是选中的值,我们只需要实时监控他的值就可以了 --> <input type="radio" id="m

2020-09-03 09:25:35 71

原创 Vue基础 day1

Vue 是什么?Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合使用Vue将helloworld 渲染到页面上指令本质就是自定义属性Vue中指定都是以 v- 开头v-cloak防止页面加载时出现闪烁问题 <style type="text/css"> /* 1、通过属性选择器 选择到 带有属性 v-cloak的标签 让他隐藏 */

2020-09-03 09:23:32 85

原创 *ES6语法

ES6相关概念(★★)什么是ES6ES 的全称是 ECMAScript , 它是由 ECMA 国际标准化组织,制定的一项脚本语言的标准化规范。为什么使用 ES6 ?每一次标准的诞生都意味着语言的完善,功能的加强。JavaScript语言本身也有一些令人不满意的地方。变量提升特性增加了程序运行时的不可预测性语法过于松散,实现相同的功能,不同的人可能会写出不同的代码ES6新增语法let(★★★)ES6中新增了用于声明变量的关键字let声明的变量只在所处于的块级有效 if (true)

2020-08-24 17:26:38 225

原创 JavaScript高级 4

1.正则表达式概述1.1什么是正则表达式正则表达式( Regular Expression )是用于匹配字符串中字符组合的模式。在JavaScript中,正则表达式也是对象。正则表通常被用来检索、替换那些符合某个模式(规则)的文本,例如验证表单:用户名表单只能输入英文字母、数字或者下划线, 昵称输入框中可以输入中文(匹配)。此外,正则表达式还常用于过滤掉页面内容中的一些敏感词(替换),或从字符串中获取我们想要的特定部分(提取)等 。其他语言也会使用正则表达式,本阶段我们主要是利用JavaScript

2020-08-24 17:23:53 106

原创 *JavaScript高级 3

JavaScript高级第03天笔记1.函数的定义和调用1.1函数的定义方式方式1 函数声明方式 function 关键字 (命名函数)function fn(){}方式2 函数表达式(匿名函数)var fn = function(){}方式3 new Function()var f = new Function('a', 'b', 'console.log(a + b)');f(1, 2);var fn = new Function('参数1','参数2'..., '

2020-08-24 17:17:53 76

原创 JavaScript高级 2

1.构造函数和原型1.1对象的三种创建方式–复习字面量方式var obj = {};new关键字var obj = new Object();构造函数方式function Person(name,age){ this.name = name; this.age = age;}var obj = new Person('zs',12);1.2静态成员和实例成员1.2.1实例成员实例成员就是构造函数内部通过this添加的成员 如下列代码中uname age

2020-08-24 17:12:55 74

原创 *JavaScript高级 1

1.面向过程与面向对象1.1面向过程面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的依次调用就可以了。1.2面向对象面向对象是把事务分解成为一个个对象,然后由对象之间分工与合作。1.3面向过程与面向对象对比面向过程面向对象优点性能比面向对象高,适合跟硬件联系很紧密的东西,例如单片机就采用的面向过程编程。易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于

2020-08-24 17:06:19 73

原创 *jQuery 3事件注册·事件处理绑定和解绑·自动触发事件·事件对象·拷贝对象·多库共存

1.1. jQuery 事件注册​ jQuery 为我们提供了方便的事件注册机制,是开发人员抑郁操作优缺点如下:优点: 操作简单,且不用担心事件覆盖等问题。缺点: 普通的事件注册不能做事件委托,且无法实现事件解绑,需要借助其他方法。语法演示代码<body> <div></div> <script> $(function() { // 1. 单个事件注册 $("di

2020-08-24 17:01:17 212

原创 *jQuery 2 属性操作·文本属性值·元素操作·尺寸、位置操作

1.1. jQuery 属性操作​ jQuery 常用属性操作有三种:prop() / attr() / data() ;1.1.1 元素固有属性值 prop()​ 所谓元素固有属性就是元素本身自带的属性,比如 元素里面的 href ,比如 元素里面的 type。语法​ 注意:prop() 除了普通属性操作,更适合操作表单属性:disabled / checked / selected 等。1.1.2 元素自定义属性值 attr()​ 用户自己给元素添加的属性,我们称为自定义属性。 比如

2020-08-18 17:56:53 132

原创 *jQuery 1 jQuery 介绍·jQuery 选择器·jQuery 样式操作· jQuery 效果

1.1. jQuery 介绍1.1.1 JavaScript 库​ JavaScript库:即 library,是一个封装好的特定的集合(方法和函数)。从封装一大堆函数的角度理解库,就是在这个库中,封装了很多预先定义好的函数在里面,比如动画animate、hide、show,比如获取元素等。简单理解: 就是一个JS 文件,里面对我们原生js代码进行了封装,存放到里面。这样我们可以快速高效的使用这些封装好的功能了。比如 jQuery,就是为了快速方便的操作DOM,里面基本都是函数(方法)。​ 常

2020-08-18 17:41:59 269 1

原创 *Web APIs 7 触屏事件·移动端常见特效·click 延时解决方案·移动端常用开发插件·移动端常用开发框架·本地存储

1.1. 触屏事件1.1.1 触屏事件概述移动端浏览器兼容性较好,我们不需要考虑以前 JS 的兼容性问题,可以放心的使用原生 JS 书写效果,但是移动端也有自己独特的地方。比如触屏事件 touch(也称触摸事件),Android 和 IOS 都有。touch 对象代表一个触摸点。触摸点可能是一根手指,也可能是一根触摸笔。触屏事件可响应用户手指(或触控笔)对屏幕或者触控板操作。常见的触屏事件如下:1.1.2 触摸事件对象(TouchEvent)TouchEvent 是一类描述手指在触摸平面(触摸屏

2020-08-18 17:29:14 296

原创 *Web APIs 6 动画函数封装·案例:网页轮播图·案列:返回顶部·案例:筋头云案例·触屏事件·

**1.1. **动画函数封装1.1.1 缓动效果原理缓动动画就是让元素运动速度有所变化,最常见的是让速度慢慢停下来思路:让盒子每次移动的距离慢慢变小,速度就会慢慢落下来。核心算法: (目标值 - 现在的位置) / 10 做为每次移动的距离步长停止的条件是: 让当前盒子位置等于目标位置就停止定时器注意步长值需要取整1.1.2 动画函数多个目标值之间移动可以让动画函数从 800 移动到 500。当我们点击按钮时候,判断步长是正值还是负值​ 1.如果是正值,则步长往大了取整

2020-08-18 17:23:18 132

空空如也

空空如也

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

TA关注的人

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