- 博客(92)
- 收藏
- 关注
原创 import export 和babel
使用babelimport转换成node能使用的语法:安装:npm install babel-cli babel-preset-env -D; 添加.babelrc文件: { "presets": [ [ "env", { "targets": { "node": "current" } ...
2020-04-14 16:52:58
386
原创 遍历器生成函数(interator.js)
function makeInterator(arr) { let nextIndex = 0; return { next: function() { if (nextIndex < arr.length) { return { value: arr[nextIndex++], done: false } ...
2020-04-10 13:55:00
305
原创 商学院·基础----02 不要为打翻的牛奶哭泣(沉没成本)
概念:人们在决定做一件事情的时候,不仅仅看这件事未来对他是不是有好处,同时也会考虑自己在过去是不是,已经在这件事上做了投入。这是一种有趣的非理性的心理学现象,称为沉没成本,也叫协和效应。 案例:英法两国政府联合投资开发大型的超音速客机,叫做协和飞机,虽然最终研发成功,但是两国政府却损失巨大。 运用场景:买衣服讨价还价:买衣服的时候,在店里反复挑选,反复试穿,不停地与店员沟通。店员在你身上花费...
2020-03-22 10:58:55
407
原创 商学院·基础(笔记)----01心理账户
概念:把钱分门别类存放在不同的心里账户==>虽同一室但彼此独立。 案例:听音乐会前如果丢了200块,得看这200块是为什么准备的,如果是充值公交卡的话,那大多数人还是会选中继续去听音乐会,如果是为买音乐会门票用的呢,那相当一部分人会选中不去听音乐会。 运用:几百块的巧克力在宣传时放到情感维系账户相比在生活开支账户会更有购买率。 装修公司的装修方案帮客户省下几个平方米面积,在买房账户里...
2020-03-22 10:24:13
272
原创 vue 什么是Virtual Dom?
virtual Dom是什么? Vue 2 和react一样使用了virtual Dom的技术,virtual Dom不是真正意义上的dom,而是一个轻量级的JavaScript对象,在状态发生变化时,virtual Dom会进行diff运算,来更新只需要被替换的DOM,而不是全部重绘,与DOM操作相比,virtual Dom是基于JavaScript计算的,所以开销会小很多。...
2020-03-18 09:40:38
223
转载 jQuery总体设计
1、jQuery设计理念以及核心特性?jquery的设计理念是:write less, do more;写更少的代码,做更多的事;核心特性:1、兼容主流的浏览器:支持IE6.0、Chrome、Firefox 3.6+、Safari 5.0+、Opera等.2、具有独特的链式语法和短小清晰的多功能接口;3、具有高效灵活的css选择器,并且可对css选择器进行扩展;4、拥有便捷...
2020-03-16 10:25:57
302
原创 jQuery解决冲突noConflict方法源码解析
var _jQuery = window.jQuery, _$ = window.$; // jQuery 初始化的时候,把可能存在的window.$和window.jQuery备份到局部变量_$和_jQuery。jQuery.extend({ noConflict: function (deep) { // 防止冲突 if (window.$...
2020-03-15 07:47:58
176
原创 centos7.6环境下安装nvm和node
1、安装git:sudo yum install -y git或者yum install git2、安装nvm:git clone https://github.com/creationix/nvm.gitsource nvm/nvm.sh3、安装node:nvm install 10.15.3...
2020-03-06 19:25:04
972
原创 JavaScript this的5中应用场景
用一句话总结this的指向:this是在调用函数的时候,根据执行上下文所动态决定 。应用场景一:当函数自然执行的时候,this是undefined或者window;例如function myFunction() { console.log('this', this); }myFunction()//这种如果使用严格模式,则this是undefined应用场...
2020-02-24 10:26:52
173
原创 js 闭包
概念:有权访问两一个函数作用域中的变量的函数--->能够读取其他函数内部变量的函数function demo () { var top = ''; function c() { xxx.innerHTML = top; }}闭包在工作中的使用:...
2020-02-23 10:42:49
114
原创 js执行上下文
当函数执行的时候,会创建一个称为执行上下文(execution context)的环境,分别为创建阶段和执行阶段两个阶段;创建阶段:指函数被调用但还没有执行任何代码时,此时创建了一个拥有三个属性的对象:executionContext = { scopeChain: {}, // 创建作用域链{scope chain} variableObject: {}, //...
2020-02-19 13:27:59
159
原创 js专业术语
常量 、变量、数据类型形参、实参匿名函数,具名函数、自执行函数函数声明、函数表达式堆、栈同步、异步、进程、线程等以上专业术语你都熟悉吗?...
2020-02-19 10:39:15
605
原创 学习如何手撸类似promise类---DIYPromise类(未完)
/*DIYPromisee类必须接收一个函数参数(也就是需要执行异步任务的函数),该函数将在传入之后立即执行,并传入DIYPromise对象下的两个方法resolve和reject*/class DIYPromise { /* DIYPromise状态有三种: pending => 初始状态 resolve =>成功 reject =&...
2020-02-14 19:06:01
1430
原创 观察者模式和发布订阅模式
// 观者着应该有:一个消息容器和三个方法,三个方法分别是:// 订阅消息的方法,取消订阅的消息方法,发布订阅消息的方法/** * 消息注册的方法,注册方法的作用就是将订阅者注册的消息推入到消息队列中,因此我们需要两个参数 * 消息类型以及相应的处理动作,在推入到消息队列时,如果此消息不存在则应该创建一个消息类型并将 * 该消息放入消息队伍中,如果此消息存在则应该将消息执行方法推入该...
2020-01-10 11:48:01
140
原创 js 字符串'false'或者'true'转换成boolean大方法
方法一:JSON.parse('false')注意:new Boolean('false')这个时候,得到的值是布尔类型的true方法二:String.prototype.bool = function() { return (/^true$/i).test(this);};console.log('true'.bool());...
2019-12-17 15:37:30
3581
原创 three.js入门实例
<!DOCTYPE html><html><head> <title>Example1</title> <script type="text/javascript" src="../libs/three.js"></script> <style> body ...
2019-09-04 16:39:47
272
原创 记录一下有用的js方法(持续更新)
1.深拷贝export function deepClone(value) { if(value == null) { return value; } if(typeof value !== 'object') { return value } if(value instanceof RegExp) { return new RegExp(value)}...
2019-09-04 11:42:29
151
原创 Vue 指令
自定义指令的选项是由几个钩子函数组成的,每个都是可选的。bind: 只调用一次,指令第一次绑定到元素时调用,用这个钩子函数可以定义一个在绑定时执行一次的初始化动作。inserted: 被绑定元素插入父节点时调用,(父节点存在即可调用,不必存在于document中)update: 被绑定元素所在的模板更新时候调用,而不论绑定值是否变化,通过比较更新前后的绑定值,可以忽略不必要的模板更...
2019-07-10 21:56:41
141
原创 vue v-if 加key值的作用
<div id="app"> <template v-if="type === 'name'"> <label>用户名:</label> <input type="text" placeholder="请输入用户名..."> </template> <template ...
2019-07-08 23:01:57
6565
2
原创 vue实例的加载问题
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Com...
2019-07-08 21:40:27
354
原创 vue eventBus的基本使用
1、demo目录结构:2、common/config.js/*推荐使用 EVENT_NAME_FOOD而不是 EVENT_NAME = { FOOD: 'food' }因为如果删除EVENT_NAME_FOOD, webpack会有提示而如果删除 EVENT_NAME.FOOD, webpack不会提示*/export ...
2019-06-19 23:47:55
852
原创 npm 和nrm 的离线安装
1、到node官方网站下载node-v10.15.3.msi文件,安装node,安装好了后,从自己本机---node_modules目录下拷贝对应的文件到相同目录下,在经对应的文件和cmd文件拷贝到跟node_modules同级目录下(有网络)2、由于我是全局安装nrm,有网络,同事A没有网络,安装nrm只能从我这里拷贝对应的文件过去,跟步骤1的操作相同,这里记录一下,全局安装的nrm的位置是...
2019-06-17 17:05:25
982
原创 git 的使用(持续更新中...)
1、git 简介(问度娘)2、git 的安装,注意mac跟window可能会有些许的不同,可以说上官网下载安装; git的官网中文文档地址是:https://git-scm.com/book/zh/v2 这个是版本2的git的中文文档;3、git的最小基础配置: git config --global user.name 'XXXXXX' git c...
2019-06-04 16:37:38
123
原创 圣杯布局和双飞翼布局
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Com...
2019-04-29 09:17:38
111
原创 web Worker和webSocket 的使用
1、web Worker的使用:function webWorkerUser(params) { var worker = new Worker();// var worker = new Worker(url);创建worker并且返回一个worker实例 worker.postMessage(data);// 向worker发送数据; worker....
2019-04-28 21:29:49
2128
原创 浏览器是如何呈现一张页面的?什么情况下浏览器会进行layout?
一个浏览器有很多个模块,其中负责呈现页面的是渲染引擎模块,呈现页面的过程是这样的:1、解析HTML,并生成一颗DOM tree;2、解析各种样式并结合DOM tree生成一颗Render tree;3、对Render tree的各个节点计算布局信息,比如box的位置与尺寸;4、根据Render tree 并利用浏览器的UI层进行绘制;什么情况下浏览器会进行layout?如下操作...
2019-04-20 16:20:49
279
原创 js数组迭代器
every():该函数一旦返回false,则立即停止当前迭代; var numbers = [1,2,3,4,5,6,7,8,9,10]; var everyResult =numbers.every(function(item, index, array) { console.log("当前"+index); return item > 0;//或者(...
2019-03-06 22:03:07
837
原创 移动端常见问题
图中只有这两个内核的浏览器可以做到强制横竖屏显示,在我们ios下的源生的safari,包括我们安卓下的源生的浏览器也是都没有办法做到上面的设置;...
2019-03-06 21:40:42
151
原创 webpack打包体验之plugin(html-webpack-plugin)
在上一个章节中,删除掉src下的inde.html文件,npm i -D html-webpack-plugin插件;当前demo的使用版本然后到webpack.config.js中使用:运行npm run dev,就可以在dist目录下看到打包好的 html和js文件,并且html文件自动引入了打包好的js文件html-webpack-plugin这个插件是就是帮助创建h...
2019-03-04 11:52:33
487
原创 webpack打包初体验
上面是当前demo的目录结构下面是src目录下的文件:main.jsimport a from './a';import b from './a';import c from './a';a();b();c();a.js 和b.js,以及c.js有大致类似:export default function a() { console.log('m...
2019-03-04 09:18:32
177
原创 javascript数据结构与算法(笔记)---树
<script> /* *树类中实现的方法 * insert(key): 向树中插入一个新的键 * search(key): 在树中查找一个键,如果节点存在,则返回true,如果不存在则返回false * inOrderTraverse: 通过中序遍历方式遍历所有节点 * preOrderTraverse: 通过先序遍历方式遍历所有节点...
2019-02-28 11:12:21
127
原创 javascript数据结构与算法(笔记)---双向链表
//链表 /* * LinkedList 数据结构还需要一个Node辅助类,Node类表示要加入列表的项,它包含一个element属性, * 即要添加到列表的值,以及一个next属性,即指向列表中下一个节点项的指针 * append(element): 向列表尾部添加一个新的项 * insert(position, element):在列表的特定位置插入...
2019-02-27 16:29:58
124
原创 javascript数据结构与算法(笔记)---链表
//链表 /* * LinkedList 数据结构还需要一个Node辅助类,Node类表示要加入列表的项,它包含一个element属性, * 即要添加到列表的值,以及一个next属性,即指向列表中下一个节点项的指针 * append(element): 向列表尾部添加一个新的项 * insert(position, element):在列表的特定位置插入...
2019-02-27 15:18:15
130
原创 javascript数据结构与算法(笔记)---散列表(未完)
// 散列表/** put(key,value): 向散列表添加一个新的项* remove(key): 根据键值从散列表中移除值* get(key): 返回根据键值检索到的特定的值*/function HashTable() {var table = [];var loseloseHashCode = function(key) { // java...
2019-02-27 10:44:30
186
原创 javascript数据结构与算法(笔记)---字典
// 以Map类为基础 /* * set(key, value): 向字典中添加新元素 * remove(key): 通过使用键值来从字典中移除键值对应的数据值 * has(key):如果某个键值存在于这个字典中,则返回true,否则返回false * get(key):通过键值查找特定的数值并返回 * clear():将这个字典中的所有元素全部...
2019-02-27 10:13:04
137
原创 javascript数据结构与算法(笔记)---集合、交集、并集、子集
<script> //以Set类的骨架 /* * add(value) 向集合添加一个新的项 * remove(value) 从集合移除一个值 * has(value) 如果值在集合中,返回true,否则返回false * clear() 移除集合中所有的项 * size() 返回集合所包含元素的数量 //size方法的...
2019-02-26 16:50:23
199
原创 javascript数据结构与算法(笔记)---队列
<script> // 队列:先进先出 FIFO: first in first out // function Queue() {} // 创建队列类 function Queue() { var items = []; // 保存队列里面的元素 /* * enqueue(elements):向队列尾部添加一...
2019-02-26 15:18:39
163
原创 javascript数据结构与算法(笔记)---栈
<script> // 栈:后进先出 LIFO:last in first out // function Stack() {} // 创建栈类 function Stack() { var items = []; // 保存栈里面的元素 /* * push(elements)-->添加一个(或者多个)新...
2019-02-26 14:34:02
131
原创 拖放操作
拖放事件 •draggable : –设置为true,元素就可以拖拽了•拖拽元素事件 : 事件对象为被拖拽元素–dragstart , 拖拽前触发–drag ,拖拽前、拖拽结束之间,连续触发–dragend , 拖拽结束触发•目标元素事件 : 事件对象为目标元素–dragenter , 进入目标元素触发,相当于mouseover–...
2019-02-02 17:47:13
191
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人