- 博客(45)
- 收藏
- 关注
原创 js:js的继承
js的继承1.原型链继承//父类function Animal (name) { this.name = name || 'Animal'; this.sleep = function(){ console.log(this.name + '正在睡觉!'); }}Animal.prototype.eat = function(food) {// 原型方法 console.log(this.name + '正在吃:' + food);};//子类function Cat
2021-04-05 22:27:13
123
原创 js:关于this的问题
关于this的问题this指向调用它的对象: var name = "The Window";//全局变量 var object = { name : "My Object", getNameFunc : function(){//它是object直接调用的,所以this指向object var that = this;//这里的this为object return function(){//它是window直接调用的,所以this指向window
2021-04-05 11:04:24
129
原创 js:js原型和原型链
js原型和原型链1.prototype(原型)每个函数都有一个 prototype 属性每一个JavaScript对象(实例)(null除外)在创建的时候就会与之关联另一个对象,这个对象就是我们所说的原型,每一个对象都会从原型"继承"属性。function Person() {//构造函数(类)}Person.prototype.name = 'Kevin';var person1 = new Person();//实例(对象)var person2 = new Person();con
2021-04-05 09:50:25
125
原创 js:函数的call和apply方法
函数的call和apply方法作用:1.改变函数的this指向区别:1.call的第二个参数需要用逗号列出来2.apply第二个参数为数组 var name = "全局中的name"; var obj1 = { name:"obj1中的name", func1:function(){ console.log(this.name); }, func2:function (a,b) {
2021-04-04 22:01:24
133
原创 linux:windows系统使用ssh连接远程服务器的用法
windows使用ssh连接远程服务器的用法连接远程服务器的用法1.打开cmd进入命令行工具,输入ssh,不是系统命令则安装ssh下载地址https://www.mls-software.com/opensshd.html2.下载完成将安装目录加入环境变量C:\Program Files\OpenSSH\bin3.远程连接服务器ssh user@host 如:ssh root@192.168.0.1114.Linux scp 命令用于 Linux 之间复制文件和目录。scp [可选参数] f
2020-12-23 13:52:10
633
原创 mongodb:在win7的32位系统下安装mongodb
在win7的32位系统下安装mongodb1.下载win32位的3.2.4版本(64位电脑无兼容问题)2.安装选custom最终安装目录 C:\Program Files\MongoDB\Server\3.2\bin3.创建C:\mongodb目录,下面创建data文件夹,logs文件夹和etc文件夹。logs中创建mongodb.log文件(?执行会自动创建)和etc下mongo.conf配置文件并在其中配置4.进入C:\Program Files\MongoDB\Server\3.2\bin
2020-12-22 23:08:03
553
原创 nodejs:快速创建express项目
快速创建express项目1.npm install -g express2.npm install -g express-generator3.express创建项目默认为jade模板引擎,若使用其他引擎,使用命令切换,用express --help查看命令express -e ejs projectName (-e为选择ejs模板)4.进入目录:cd projectName,然后安装项目依赖:npm install5.运行项目,并开启调试模式:SET DEBUG=projectName:*
2020-12-17 23:01:45
214
原创 微信:图片,文件上传和下载
图片,文件上传和下载1.图片上传wx.chooseImage({ count: 1,//最多可以选择的图片张数 sizeType: ['original', 'compressed'],//所选的图片的尺寸 sourceType: ['album', 'camera'],//选择图片的来源 success (res) { const tempFilePaths = res.tempFilePaths //图片的本地临时文件路径列表 (本地路径)
2020-10-07 16:42:24
301
原创 css:用calc计算移动端视口的宽度高度
用calc计算移动端视口的宽度高度vw 相对于视口的宽度。视口被均分为100单位的vwvh 相对于视口的高度。视口被均分为100单位的vh用法:width: calc(100% - 10px);height:calc(100vh - 10px);calc(100vh - 10px) 表示整个浏览器窗口高度减去10px的大小calc(100vw - 10px) 表示整个浏览器窗口宽度减去10px的大小实例:...
2020-10-03 14:53:37
1107
1
原创 js:json.stringify()与json.parse()的区别
json.stringify()与json.parse()的区别转https://www.cnblogs.com/echolun/p/9631836.html一、JSON.stringify()与JSON.parse()的区别JSON.stringify()的作用是将 JavaScript 对象转换为 JSON 字符串,而JSON.parse()可以将JSON字符串转为一个对象。使用JSON.parse()时,你的字符串必须符合JSON格式,即键值都必须使用双引号包裹:let str = ‘[“1”,
2020-09-30 12:04:11
134
原创 vue:项目中怎么使用vue-devtools工具
项目中怎么使用vue-devtools工具1.在项目中cnpm install vue-devtools -D2.node_modules文件中找到vue-devtools文件夹,将里面的vender文件拖到chrome浏览器的 更多工具-扩展程序中3.修改vender中的manifest中的:"background": { "scripts": [ "build/background.js" ], "persistent": true //为true
2020-09-22 14:19:40
892
原创 css:sass小记
sass小记1.默认变量$baseLineHeight:1.5 !default;body{ line-height: $baseLineHeight; }编译后的css代码:body{ line-height:1.5;}覆盖默认变量的方式也很简单,只需要在默认变量之前重新声明下变量即可:$baseLineHeight: 2;$baseLineHeight: 1.5 !default;body{ line-height: $baseLineHeight;
2020-09-21 17:04:35
96
原创 js:every和some和filter和map和find的区别
every和some和filter和find和map和forEach的区别1.every和someevery:全部条件都正确才返回truesome:有一个条件正确就返回truevar ages = [32, 33, 16, 40];function checkAdult(age) { return age >= 18;}function myFunction() { document.getElementById("demo").innerHTML = ages.ev
2020-09-16 05:48:47
559
原创 js:js实现几种排序算法(待补)
js实现几种排序算法1.冒泡排序比较相邻的元素。如果第一个比第二个大,就交换他们两个function testArr(arr){ for (var i = 0; i <= arr.length-1; i++) { for (var j = 0; j <= arr.length-1-i; j++) { if(arr[j]>arr[j+1]){ [arr[j], arr[j + 1]] = [arr[j + 1], arr[j]]; }
2020-09-08 10:26:43
113
原创 其他:markdown使用
markdown使用1.标题使用 # 号标记:# 一级标题## 二级标题### 三级标题#### 四级标题##### 五级标题###### 六级标题2.分隔线你可以在一行中用三个以上的星号来建立一个分隔线:***效果:3.删除线文字的两端加上两个波浪线 :~~BAIDU.COM~~效果:BAIDU.COM4.下划线下划线可以通过 HTML 的 <u> 标签来实现:<u>带下划线文本</u>效果:带下划线文本5.脚注
2020-09-03 09:35:24
140
原创 js:js封装库(待补)
js封装库1.addEventListener/* * obj:要绑定事件的对象 * event :事件(注意:这里不要on) * func:回调函数 */function bind(obj , event , func){ if(obj.addEventListener){ //大部分浏览器 obj.addEventListener(event , func, false); }else{ //IE8及以
2020-08-29 21:50:10
127
原创 js:js学习回顾(待补)
js学习回顾1.变量提升函数声明和变量声明总是会被解释器悄悄地被"提升"到方法体的最顶部。x = 5; // 变量 x 设置为 5elem = document.getElementById("demo"); // 查找元素 elem.innerHTML = x; // 在元素中显示 xvar x; // 声明 x变量初始化不会提升。var x = 5; // 初始化 xelem = document.getElementById("demo");
2020-08-28 04:19:48
121
原创 js:理解js的基本类型和引用类型
理解js的基本类型和引用类型1.基本类型1.1.基本的数据类型有:undefined,boolean,number,string,null。1.2.基本类型的变量是存放在栈内存的。var a = "hello"; var b = a; console.log(a); // helloconsole.log(b); // helloa = "world"; console.log(a); // worldconsole.log(b); // hello上述a,b
2020-08-27 05:59:55
291
原创 css:伪类:first-child,:nth-child(n),:nth-of-type(n)区别
first-child,:nth-child(n),:nth-of-type(n)p:first-child选择器匹配属于任意元素的第一个子元素的 元素p:nth-child(n)选择所有 p 元素的父元素的第二个子元素(目标元素可以不是p元素)p:nth-of-type(n)选择所有p元素第二个为p的子元素...
2020-08-21 15:39:17
411
原创 css:CSS布局 - 水平 & 垂直居中
CSS布局 - 水平 & 垂直居中1.元素水平居中&文本水平居中<div class="center"> <p>文本文本文本</p></div>.center {//元素水平居中 margin: 0 auto; width: 300px; border: 1px solid green;}.center {//文本水平居中 text-align: center; border: 1px
2020-08-21 01:14:23
168
原创 微信小程序:获取openid和session_key,access_token,UnionID
获取openid和session_key,access_token,UnionID1.openid和session_keyhttps://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html调用 wx.login() 获取 临时登录凭证code ,并回传到开发者服务器。调用 auth.code2Session 接口,换取 用户唯一标识 OpenID 和 会话密钥 sessi
2020-08-17 13:14:03
1779
原创 微信小程序:wx.navageteTo等跳转api使用
wx.navageteTo等跳转api使用我们采用这样的方式进行描述页面栈:[ pageA, pageB, pageC ],其中pageA在最底下,pageC在最顶上,小程序宿主环境限制了这个页面栈的最大层级为10层。使用 wx.navigateTo({ url: ‘pageD’ }) 可以往当前页面栈多推入一个 pageD,此时页面栈变成 [ pageA, pageB, pageC, pageD ]。使用 wx.navigateBack() 可以退出当前页面栈的最顶上页面,此时页面栈变成 [ pag
2020-08-17 13:08:14
1246
原创 微信小程序:target与currentTarget的区别
微信小程序:target与currentTarget的区别target为触发事件的组件(触发事件的源头)currentTarget为当前组件当存在事件冒泡时:<view bindtap="outer">outter <view bindtap="inner">inner </view></view>当触发inner时,它输出一个对象,对象属性target与currentTarget的值皆为inner当冒泡到outter时,它输出一个对象
2020-08-17 13:04:15
468
原创 webpack:webpack+vue模板构建过程
笔记webpack:webpack+vue模板构建过程一、创建目录-npm init 生成package.json二、局部安装npm install webpack -D(没有@版本则安装最新版,此刻为4.42.0)三、全局安装npm install webpack -g四、全局和局部安装webpack-cli(4.x版本将cli工具分离了)五、创建src目录和目录下index.js文件,此新版本默认此目录和文件作为入口文件,否则webpack命令会出错,下为几种命令模式:默认4.x版本web
2020-08-17 01:38:37
224
原创 webpack:webpack安装全过程-注意wp版本
笔记webpack:webpack安装全过程-注意wp版本1、什么是webpackWebpack是前端一个工具,可以让各个模块进行加载,预处理,再进行打包。现代的前端开发很多环境都依赖webpack构建,比如vue官方就推荐使用webpack。2、简单使用下webpack2.1、首先我在 c 盘下新建一个webpack-demo1的文件夹,然后命令行进入该目录,执行 npm init --yes 项目初始化,该命令会在文件下生成一个package.json文件,该命令也可以是 npm init ,这
2020-08-17 01:32:37
249
原创 webpack:webpack安装全过程-4.x版本说明
笔记webpack:webpack安装全过程-4.x版本说明一、创建目录-npm init-生成package.json二、局部安装npm install webpack -D(没有@版本则安装最新版,此刻为4.42.0)三、全局安装npm install webpack -g四、(可选?)全局和局部安装webpack-cli五、创建src目录和目录下index.js文件,新版本要求有这目录和文件,否则webpack命令会出错,下为几种命令模式:1.4.x版本webpack命令为webpack
2020-08-17 00:03:30
629
原创 webpack:webpack小记
笔记webpack:webpack小记1.webpack作用2.webpack.config.js的配置3.webpack-dev-serverwebpack-dev-server用来自动打包的插件,文件有改动则自动打包,我们直接刷新网页就行。使用方法:npm install webpack-dev-server -d在webpack.config.js配置诶入口和出口文件在package.json中scripts项配置:“dev”:“webpack-dev-server --ope
2020-08-17 00:00:14
89
原创 笔记tp5:tp5模型操作
笔记tp5:tp5模型操作1.增://只是选好用的记录1.增加一条:$user = new User([ 'name' => 'thinkphp', 'email' => 'thinkphp@qq.com']);$user->save();2.增加多条:$user = new User;$list = [ ['name'=>'thinkphp','email'=>'thinkphp@qq.com'], ['name'=&g
2020-08-16 22:42:29
297
原创 笔记tp5:thinkPHP5笔记
thinkPHP5.0–基础篇第一章 thinkPHP5.0配置1.惯例配置(框架配置)convention.php----框架默认配置,用config()函数输出2.应用配置app同级目录创建一个conf文件夹,里创建config.php文件,配置覆盖convention.php3.扩展配置在conf文件夹下创建extra文件夹,里创建 需配置的项为文件名 文件里的配置为需配置项(数组)的内容(数组内容),扩展配置覆盖应用配置config4.场景配置第一种:在config.php里设置
2020-08-16 22:35:03
594
原创 笔记vue:vue父子组件通信分析
笔记vue:vue父子组件通信分析1.父组件向子组件中传数据父组件使用子组件的方法:在child组件上加个ref=”xx”,然后用this.$refs.xx.met()2.子组件通过触发父组件自定义的方法可以将子组件的数据传递给父组件...
2020-08-16 01:20:05
122
原创 笔记vue:小记
1.vue生命周期过程beforeCreate:实例化vue-> new Vue()created:已经可以取到实例中data和methods中的数据了beforeMount:在内存中生成模板mounted:将模板挂载到<div id="app"></div>上beforeUpdate:data已经被改变,但未跟页面同步,即页面还未重新渲染update:data与页面渲染的同步了beforeDestroy:实例还未销毁,中的各个还可用destroyed:实例
2020-08-16 01:17:53
126
原创 笔记php:本地服务器安装php-redis扩展
笔记php:本地服务器安装php-redis扩展1.根据本地服务器的phpinfo()查看当前php的版本2.根据上图php的版本等信息下载对应的php-redishttps://windows.php.net/downloads/pecl/releases/redis/2.2.7/根据图1下载图2中对应的redis版本3.配置php.ini在php.ini文件中加入两行(注意:把要按照下面的顺序来)extension=php_igbinary.dllextension=php_redi
2020-08-16 01:03:24
121
原创 笔记php:php面向对象
笔记php:php面向对象public只能被实例访问protected 被父类和子类访问,不能直接被实例访问private 只能在本类内部访问类内部 函数和属性 用 $this访问,外部用实例访问常量 类内部用self::const访问 外部用Class::const访问php面向对象中的final关键字可以用在类或函数前面,防止类被继承或函数在子类中被重写命名空间(防止不同文件导入同一个文件时两个相同名字的类或函数冲突)先在其文件中用namespace定义,然后在其
2020-08-15 17:27:31
102
原创 js:js的浅拷贝和实现深拷贝的方式
笔记php:浅拷贝和深拷贝a=[1,2,3,4,5];b=a;对a赋值操作,b的值也改变为浅拷贝,b的值不变为深拷贝浅拷贝赋值的是引用地址,指针指向同一个堆空间深拷贝则是相当于新增一个地址,指针指向不同堆空间实现深拷贝:https://www.jianshu.com/p/5f6cd3dabc1c1.使用es6var a=[1,2,3]var b=[...a];b.push(4); console.log(b);//1,2,3,4console.log(a)//1,2,32.
2020-08-15 15:25:24
155
原创 笔记nodejs:path.resolve()和path.join()的区别
笔记nodejs:path.resolve()和path.join()的区别一、path.join(path1,path2,path3…)作用:将路径片段使用特定的分隔符(window:\)连接起来形成路径,并规范化生成的路径。若任意一个路径片段类型错误,会报错。const path = require('path');let myPath = path.join(__dirname,'/img/so');let myPath2 = path.join(__dirname,'./img/so');
2020-08-14 22:54:20
742
原创 笔记nodejs:url.parse和util.inspect
笔记nodejs:url.parse和util.inspect1.url.parse浏览器打开得出结果2.util.inspect
2020-08-14 22:44:03
238
原创 笔记nodejs模块:url.parse和querystring.parse
笔记nodejs模块:url.parse和querystring.parse1.url.parse将一个URL字符串转换成对象并返回。var url = require('url');var a = url.parse('http://localhost:8080/one?a=index&t=article');console.log(a);//输出结果:{ protocol : 'http' ,auth : null ,host : 'localhost:8080' ,po
2020-08-14 22:36:37
1247
原创 笔记nodejs:module.exports和exports
nodejs模块-module.exports和exports导读:一个js文件即为一个模块,用下列两个暴露,用require引入。1.module.exports = {// 暴露对象}module.exports = function() {// …}module.exports = Hello;function hello(){};2.暴露方法或属性exports.world = world;exports.world = function(){}如果要对外暴露属性或方法
2020-08-14 15:54:43
149
原创 笔记nodejs:npm常用命令
npm常用命令npm -v //版本npm install npm -g //升级npm install npm install expressnpm install express -gnpm uninstall expressvar express = require(‘express’);npm lsnpm listnpm list -gnpm list grunt //查看某个模块的版本号npm update expressnpm search expressnpm i
2020-08-14 15:52:23
119
原创 笔记nodejs:nvm使用
nvm使用https://www.runoob.com/w3cnote/nvm-manager-node-versions.html1.使用 nvm 管理不同版本的 node 与 npm2.nvm 是 Mac 下的 node 管理工具Windows 下的 node,官方推荐使用 nvmw 或 nvm-windows3.一定要卸载已安装的 NodeJS,否则会发生冲突。然后下载 nvm-windows 最新安装包,直接安装即可4.nvm install 4.2nvm lsnvm ls a
2020-08-14 15:50:16
105
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人