- 博客(41)
- 收藏
- 关注
原创 C语言程序设计2 :C语言与C程序
计算机语言学习什么类型的语言?——高级语言机器语言——>汇编语言——>高级语言语言类型- 面向过程语言- 面向对象语言十种编程语言- Java:跨平台,企业级Web应用和移动应用- C:面向过程(命令式)- C++:多重编程范式- C#:面向对象,运行于.NET- Objective-C:面向对象,扩展了标准的ANSI C- PHP:服务器端脚本语言- Python:适用于网站和移动应用开发脚本语言- Ruby:简单快捷的面向对象脚本语言- Jav
2020-10-24 15:56:24
473
1
原创 C语言程序设计1:从问题到c语言的程序设计
程序设计面向的问题许多常见问题通过软件解决了。而比如打印九九乘法表、图形变换、文件压缩、求和问题、排序问题、数列问题等这种小问题,用程序解决。一切可计算问题都可以用程序解决程序设计的五个步骤确定问题可计算;建立问题的数学模型;设计算法和数据结构;选择合适的计算机语言编写程序;调试运行程序分析结果计算什么是计算从一个按规则组织的符号集合开始,再按照既定的规则一步步地改变这些符号集合,经过有限步骤之后得到一个确定的结果。可计算与不可计算输入参数和输出参数的对应关系是明确的
2020-10-24 14:32:38
424
原创 [解决问题]vue el-table的data更新但页面没有及时渲染
前言本来在网上找了一些解决方案,说给table加上key就可以,然后我试了一下发现显示的还是上次渲染的数据。然后循着这个路子摸出了另一个方法捋思路需求在一个表格内镶嵌一个表格,镶嵌的表格会根据所展开的行信息去发送请求并将最新数据渲染在页面上采取的是手风琴效果,即只显示一行的数据问题镶嵌表格的数据更新了,但是页面没有及时渲染解决用模板<template>包裹镶嵌表格,并规定插槽作用域slot-scope="props"在镶嵌表格中,用:key="props.row.id"
2020-08-30 11:12:09
2948
原创 对vue表格数据进行格式化—阿拉伯数字转中文
需求<el-table :data="tableData"> <el-table-column prop="number" label="份数" /> </el-table>此时number字段内容只是一个阿拉伯数字,我想作一些转换:1--->第一份方法Table-column提供了一个方法解决我给formatter属性绑定了转换方法toChinesNum<el-table-column prop="number" l
2020-08-30 11:00:08
1273
1
原创 Vuex的五个核心概念—state/getter/mutation/action/module
1. StateVuex 使用单一状态树——用一个对象包含全部的应用层级状态。至此它就是“唯一数据源 (SSOT)”。这也意味着,每个应用将仅仅包含一个 store 实例。组件中获得 Vuex 状态计算属性import store from './store'const Counter = { template: `<div>{{ count }}</div>`, computed: { count () { return store.sta
2020-08-30 10:53:39
350
原创 webpack从零开始搭建vue项目——结合使用vuex
初始化并安装相关包mkdir vuexpackcd vuexpacknpm initnpm install --save-dev webpack webpack-clinpm install --save-dev vue vuexnpm install --save-dev vue-loader vue-template-compiler//解析vue//插件npm install --save-dev clean-webpack-plugin//每次打包清空dist配置创建we
2020-08-30 10:48:17
189
原创 vuex—简单介绍与示例
Vuex是什么?Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。为什么使用vuex?new Vue({ // state:驱动应用的数据源 data () { return {count: 0}}, // view:以声明方式将 state 映射到视图 template: ` <div>{{ count }}</div>`, //
2020-08-30 10:43:33
117
原创 [解决错误]webpack打包—vuex@1.0.0 build: `webpack --config webpack.config.js`
打包错误信息:首先我去package.json看了一下,build命令我确实设置了:于是又去看了下安装的依赖,也都具备了:这时候想起可能忘记初始化了,于是:npm initnpm install之后打包成功了!
2020-08-30 10:27:12
4471
原创 ES6学习笔记(17)——Module 的加载实现
Module 的加载实现浏览器加载传统方法<!-- 页面内嵌的脚本 --><script type="application/javascript"> // module code</script><!-- 外部脚本 --><script type="application/javascript" src="path/to/myModule.js"></script>由于浏览器脚本的默认语言是 JavaSc
2020-08-17 12:02:09
201
原创 ES6学习笔记(16)——Module语法
Module语法背景:在 ES6 之前,社区制定了一些模块加载方案,最主要的有 CommonJS 和 AMD 两种。前者用于服务器,后者用于浏览器。ES6 在语言标准的层面上,实现了模块功能,而且实现得相当简单,完全可以取代 CommonJS 和 AMD 规范,成为浏览器和服务器通用的模块解决方案。引入:下面代码实质是整体加载fs模块(即加载fs的所有方法),生成一个对象(_fs),然后再从这个对象上面读取3个方法。这种加载称为**“运行时加载”,因为只有运行时才能得到这个对象,导致完全没办法在编译时
2020-08-16 21:39:04
213
原创 ES6学习笔记(15)——修饰器Decorator
修饰器Decorator修饰器(Decorator)是一个函数,用来修改类的行为。修饰器对类的行为的改变,是代码编译时发生的,而不是在运行时。这意味着,修饰器能在编译阶段运行代码类的修饰//修饰器函数1:为类加上静态属性isTestable//修饰器函数的第一个参数,就是所要修饰的目标类function testable(target) { target.isTestable = true;}//修饰类的行为。写在类上方,表示修饰器的目标是这整个类@testableclass My
2020-08-16 18:09:44
481
原创 ES6学习笔记(14)——class
Classclass基本概念传统方法是通过构造函数生成新对象function Point(x, y) { this.x = x; this.y = y;}Point.prototype.toString = function () { return '(' + this.x + ', ' + this.y + ')';};class是构造器的另一种写法class Point { constructor(x, y) { this.x = x; this.y
2020-08-16 15:13:10
207
原创 ES6学习笔记(13)——async函数
async函数含义async 函数是什么?一句话,它就是 Generator 函数的语法糖//依次读取两个文件var asyncReadFile = async function () { var f1 = await readFile('/etc/fstab'); var f2 = await readFile('/etc/shells'); console.log(f1.toString()); console.log(f2.toString());};//一比较就会发现,
2020-08-15 14:51:48
197
原创 ES6学习笔记(12)—— Generator函数的异步应用
Generator函数的异步应用协程多个线程互相协作,完成异步任务。yield命令表示执行到此处,执行权将交给其他协程,也就是说,yield命令是异步两个阶段的分界线。协程遇到yield命令就暂停,等到执行权返回,再从暂停的地方继续往后执行。function *asyncJob() { // ...其他代码 var f = yield readFile(fileA); // ...其他代码}Generator 函数实现协程function* gen(x) { var y =
2020-08-15 11:22:18
163
原创 ES6学习笔记(11)——Generator函数语法
Generator函数语法Generator函数Generator 函数是 ES6 提供的一种异步编程解决方案。Generator 函数在形式上具有两个特征:一、function关键字与函数名之间有一个星号;二、函数体内部使用yield语句,定义不同的内部状态function* helloWorldGenerator() { yield 'hello'; //hello状态 yield 'world'; //world状态 return 'ending'; //结束}调用Gen
2020-08-14 23:17:16
159
原创 ES6学习笔记(10)——iterator和for...of循环
iterator和for…of循环引入遍历器(Iterator)是一种接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署Iterator接口,就可以完成遍历操作//1. 遍历器生成函数function makeIterator(array){ var nextIndex=0; return { next:function(){ return nextIndex<array.length? {val
2020-08-14 10:56:28
163
原创 ES6学习笔记(9)——Promise对象
Promise对象Promise 是异步编程的一种解决方案。所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件的结果。Promise 是一个对象,从它可以获取异步操作的消息。Promise 提供统一的 API,各种异步操作都可以用同样的方法进行处理。可以将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。特点对象的状态不受外界影响。Promise有三个状态:Pending(进行中)、Resolved(已完成)和Rejected(已失败),只有异步操作的结果,可以决定
2020-08-13 16:57:25
116
原创 ES6学习笔记(8)——Reflect
Reflect设计目的将Object对象的一些明显属于语言内部的方法(比如Object.defineProperty),放到Reflect对象上。然后就可以从Reflect对象上可以拿到语言内部的方法修改某些Object方法的返回结果,让其变得更合理。比如,Object.defineProperty(obj, name, desc)在无法定义属性时,会抛出一个错误,而Reflect.defineProperty(obj, name, desc)则会返回false// 老写法try {
2020-08-12 20:15:13
149
原创 ES6学习笔记(7)——Proxy
ProxyProxy 用于修改某些操作的默认行为。Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。Proxy 这个词的原意是代理,用在这里表示由它来“代理”某些操作,可以译为“代理器”生成实例//第一个参数target表示所要拦截的目标对象,第二个参数handler是一个配置对象,用来定制拦截行为var proxy = new Proxy(target, handler);var proxy
2020-08-12 17:37:39
125
原创 ES6学习笔记(6)——Set和Map数据结构
Set数据结构ES6 提供了新的数据结构——Set。 Set 本身是一个构造函数,用来生成 Set 数据结构1. 特性Set成员的值都是唯一的,没有重复const set = new Set ([1, 2 , 3 , 4, 4]); [ ...set] //[1, 2 , 3 , 4]向Set加入值的时候,不会发生类型转换Set内部判断两个值是否不同,使用的算法叫做“Same-value equality”,它类似于精确相等运算符(===)在Set内部,两个NaN是相等l.
2020-08-12 13:04:06
197
原创 ES6学习笔记(5)——Symbol
Symbol背景:ES5的对象属性名都是字符串,这容易造成属性名的冲突。ES6引入了一种新的原始数据类型Symbol,表示独一无二的值,它就是Symbol数据类型特性1. Symbol值通过Symbol函数生成,它是一种类似于字符串的数据类型-----let s = Symbol();2. Symbol函数可以接受一个字符串作为参数,表示对Symbol实例的描述。即使参数相同,Symbol函数的返回值依旧是不相等的-----var s = Symbol('foo');s//Symb
2020-08-12 10:43:33
107
原创 ES6学习笔记(4)——字符串\正则\数值\数组\函数\对象的扩展
字符串的扩展ES6 加强了对 Unicode 的支持,并且扩展了字符串对象方法codePointAt()String.fromCodePoint()at():ES5对字符串对象提供charAt方法,返回字符串给定位置的字符,但不能识别码点大于0xFFFF的字符。这个可以normalize()includes(), startsWith(), endsWith():是否找到了参数字符串|是否在源字符串的头部|是否在源字符串的尾部repeat():返回一个新字符串,表示.
2020-08-11 23:55:30
211
原创 ES6学习笔记(3)——变量的解构赋值
ES6 许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)1. 数组解构赋值let [a, b, c] = [1, 2, 3];let [foo, [[bar], baz]] = [1, [[2], 3]];foo // 1bar // 2baz // 3let [ , , third] = ["foo", "bar", "baz"];third // "baz"let [x, , y] = [1, 2, 3];x // 1y //
2020-08-11 13:27:40
173
原创 ES6学习笔记(2)——let和const命令
let和const命令let声明的变量只在let命令所在的代码块内有效{ let a = 10; var b = 1;}a // ReferenceError: a is not defined.b // 1for循环for (let i = 0; i < 10; i++) {}console.log(i); //i is not defined对比//var声明时var a = [];for (var i = 0; i < 10; i++) {
2020-08-10 11:15:56
178
原创 ES6学习笔记(1)——Babel 转码器
ECMAScript 6简介ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。//查看已经实现的es6特性$ node --v8-options | grep harmony//查看你正在使用的node对es6的支持程度$ npm install -g es-checker$ es-checkerBabel 转码器配置.babelrc//1. 设置转
2020-08-10 09:30:51
237
转载 安装Apache遇到make_sock: could not bind to address [::]:80
(OS 10013)以一种访问权限不允许的方式做了一个访问套接字的尝试。 : AH00072: make_sock: could not bind to address [::]:80(OS 10013)以一种访问权限不允许的方式做了一个访问套接字的尝试。 : AH00072: make_sock: could not bind to address 0.0.0.0:80AH00451: no listening sockets available, shutting downAH00015: U
2020-08-07 14:08:57
1538
1
原创 【知识体系】JavaScript高级
该文章的内容主要包括原型对象、原型继承、函数更细节的部分、闭包、递归和正则表达式这是js系列的最后一篇文章。在开始看这篇文章之前最好先要掌握js基础语法。开头先给js的数据类型做了一个简单的梳理。文章目录原型基础引入构造函数,原型对象与实例对象的区别三者的特点原型对象的简单写法原型指向原型继承1. 改变原型指向2. 借用构造函数3. 组合继承4. 拷贝继承函数进阶回顾函数的不同调用方式函数中的this严格模式改变指向函数也是对象数组中的函数调用函数的成员函数作为参数函数作为返回值闭包递归浅拷贝深拷贝正则
2020-08-05 16:00:31
220
原创 用vue实现点击图片预览浏览器满屏大图
前提安装插件npm install vue-directive-image-previewer -D引入插件import VueDirectiveImagePreviewer from 'vue-directive-image-previewer'import 'vue-directive-image-previewer/dist/assets/style.css'Vue.use(VueDirectiveImagePreviewer) 使用 <img v-image
2020-08-04 10:05:49
2189
原创 【知识体系】JavaScript基础(3)——BOM(待完善)
js分三个部分:ECMAScript标准:Js的基本的语法DOM:Document Object Model——文档对象模型——操作页面元素BOM:Browser Object Model——浏览器对象模型——操作的是浏览器
2020-08-03 08:48:41
122
原创 【知识体系】JavaScript基础(2)——DOM
js分三个部分:ECMAScript标准:Js的基本的语法DOM:Document Object Model——文档对象模型——操作页面元素BOM:Browser Object Model——刘览器对象模型——操作的是浏览器概念文档:一个页面就是一个文档,文档中有根元素——html——根元素元素(element):页面中所有的标签都是元素,元素可以看成是对象。标签可以嵌套,标签中有标签,元素中有元素节点(node):页面中所有的内容都是节点,标签 属性 文本root:根由文档及文档
2020-08-01 18:02:21
157
原创 用vue与upload动态获取数据并在多个窗口实现图片的上传与删除
前提在开始之前,需要先把element-ui安排上//方式1npm i element-ui -S//方式2<!-- 引入样式 --><link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"><!-- 引入组件库 --><script src="https://unpkg.com/element-ui/lib/index.js">&
2020-08-01 01:30:30
528
原创 【知识体系】JavaScript基础(1)——ECMAScript 标准
Javascript基础JS分为三个部分ECMAScript 标准----js的基本的语法DOM------Document Object Model 文档对象模型BOM-----Browser Object Model 浏览器对象模型JavaScript是什么一门运行在客户端的脚本语言、一门解释性语言、一门动态类型的语言、一门基于对象的语言。编译语言:需要把代码翻译成计算机所认知的二进制语言,才能够执行;脚本语言:不需要霸译,直接执行,常见的脚本语言有t-sql,cmd。
2020-07-31 12:58:23
378
原创 用vue和swiper实现动态数据的简单轮播
做个轮播碰到了不少坑,记录一下。这里主要是在html的基础上用vue实现轮播功能CDN首先在lib文件夹上存放会用到的脚本,并在index文件中导入。由于图片数据是通过接口获得的,所以我这里使用了axios插件来帮助我获取数据<head> //Vue相关脚本 <script src="./lib/vue.js"></script> <script src="https://unpkg.com/axios/dist/axios.min.
2020-07-30 14:13:44
1473
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人