![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js学习
to u be
boyu
展开
-
当浏览器输入一个url请求会经历什么?
原创 2020-08-24 13:51:52 · 254 阅读 · 0 评论 -
vue 计算属性失效了
原创 2019-12-24 11:57:06 · 3085 阅读 · 1 评论 -
随手写的构造函数 不知啥功能
function pick(fn, context) { var arr = Array.prototype.slice.call(this); for (var i; i < arr.length; i++) { if (fn.call(context, arr[i], i, this)) {...原创 2019-12-11 17:31:48 · 173 阅读 · 0 评论 -
$emit $on 的实现
var eventList = { 'sayName': [sayName] } var name = 'hehe' var age = 28 function sayName() { console.log(this.name) } function s...原创 2019-12-10 19:38:41 · 1006 阅读 · 0 评论 -
初步构建vue mmvm框架
class lirui{ constructor(option) { this.$option = option; this.$data = option.data; this.observe(this.$data) } difineReactive(obj,key,val){ ...原创 2019-12-10 19:11:42 · 614 阅读 · 0 评论 -
es5继承与es6继承的区别
ES5 的继承,实质是先创造子类的实例对象this,然后再将父类的方法添加到this上面(Parent.apply(this))。ES6 的继承机制完全不同,实质是先将父类实例对象的属性和方法,加到this上面(所以必须先调用super方法),然后再用子类的构造函数修改this。 如果子类没有定义constructor方法,这个方法会被默认添加,代码如下。也就是说,不管有没有显式定义,任何一...原创 2019-12-10 18:52:12 · 1203 阅读 · 0 评论 -
vue-cli项目 npm 打包之旅
目标:将组件单独打包成npm包组件目录:1、创建levelTree组件2、同时创建index.jsindex.js 负责将组件变成 可以使用vue.use()方法的而后 进行配置 vue.config.js而后配置package.json“lib”: “vue-cli-service build --target lib --name lt ./src/components/...原创 2019-11-05 17:21:48 · 373 阅读 · 0 评论 -
vuecli 配置jsx
vuecli在 babel.config.js文件module.exports = {presets: [‘@vue/cli-plugin-babel/preset’,‘@vue/babel-preset-jsx’],‘plugins’: [’@babel/plugin-syntax-jsx’]}同事 需要安装npm install --save-dev @babel/plug...原创 2019-10-31 14:56:37 · 4674 阅读 · 1 评论 -
React 学习心得
1.React Only Updates 只更新 修改掉的 dom2.jsx将html css 统一按照js的方式处理使用super(props);的原因 constructor(props) { super(props); this.state = { liked: false }; }如果你用到了constructor就必须写super(),是用来初始化thi...原创 2019-07-12 11:51:16 · 366 阅读 · 0 评论 -
vue 后台管理permission
具体实现思路1 创建vue实例的时候将vue-router挂载,但这个时候vue-router挂载一些登录或者不用权限的公用的页面。2 当用户登录后,获取用role,将role和路由表每个页面的需要的权限作比较,生成最终用户可访问的路由表。3 调用router.addRoutes(store.getters.addRouters)添加用户可访问的路由。4 使用vuex管理路由表,根据...原创 2019-07-03 16:58:25 · 11073 阅读 · 0 评论 -
冒泡排序
function ok(arr) { var len = arr.length; for (var i = 0; i < len-1; i++) { for (var j = 0; j < len - 1 - i; j++) { // 相邻元素两两对比,元素交换,大的元素交换到后面 if (arr[j] > arr[j + 1])...原创 2019-07-03 16:16:41 · 242 阅读 · 0 评论 -
素数
起始从2开始 for(var i=2 ; i<=变量自己填; i++){ for(var j=2 ; j<i ; j++){ if(i%j == 0) console.log(i+'我不是素数') ...原创 2019-07-03 16:11:03 · 145 阅读 · 0 评论 -
实现reduce
Array.prototype.mm= function (fn, int) { let arr = Array.prototype.slice.call(this) let res let startIndex if (int === undefined){ for (let i=0;i<arr;i++){ if (!...原创 2019-07-03 16:05:21 · 362 阅读 · 0 评论 -
数组降维
let result = []function ok(arr) { arr.forEach(function (item) { if (Object.prototype.toString.call(item)==="[object Array]") { ok(item) }else { result.push(...原创 2019-07-03 14:03:35 · 328 阅读 · 0 评论 -
reduce 重写filter
const fil = function(fn,context){ return this.reduce(function (pre,cur,index) { return fn.call(this,cur,index) ? [...pre, cur]: [...pre] },[])}Array.prototype.fil = fil;const cc =...原创 2019-07-03 11:55:49 · 347 阅读 · 0 评论 -
Javascript 类的公有私有
js中没有类,但是每个函数都可以使用new来生成新的对象。也就是说在js中每个函数都可以代表as中类的概念。那么类中私有方法,公开方法,私有属性和公开属性又是怎样实现的。可以看代码function ClassA(){ var a = 1;//这里的a是在函数中使用var关键字声明的,表示的是ClassA中的私有属性,外部不可访问 this.b = 2;//这里this转载 2017-01-22 19:35:21 · 503 阅读 · 0 评论 -
JS的继承
aser都知道as继承一个类很简单只要使用extends就可以了。但是js里面继承是使用的原型继承,什么是原型继承呢。js里面对象有个prototype属性,我们利用这个属性来实现继承。代码演示如下: function ClassB(){ this.a = 10; this.run = function(){ console.l转载 2017-01-22 19:39:24 · 230 阅读 · 0 评论 -
前端-js- demo-作品集
http://jikeytang.github.io/ 这是作品集效果实例。 源码贴在后面的系列中原创 2017-01-28 12:47:53 · 8291 阅读 · 4 评论 -
基于 vue 全家桶的 spa 项目模板
项目简介Github: https://github.com/hanan198501/vue-spa-template最近在给团队做前端技术改造,移动端方面主要使用 vue2.0 重构,这是基于 vue-cli 脚手架生成项目模板。我们做了一些改造,加入了 vue-router ,vuex 等配套设施,本地 dev server 中加入了接口 mock 功能,还增加一个 build server 来转载 2017-01-31 20:10:15 · 1782 阅读 · 2 评论 -
顶端 - 底端判断条件(不想记住所以写下来)
要获取顶端 只需要获取到scrollTop()==0的时候 就是顶端了要获取底端 只要获取scrollTop()>=$(document).height()-$(window).height() 就可以知道已经滚动到底端了$(document).scrollTop() 获取垂直滚动的距离 即当前滚动的地方的窗口顶端到整个页面顶端的距离$(document).height() //是获取整个页原创 2017-04-11 17:21:43 · 593 阅读 · 0 评论 -
一些方法
what原创 2017-04-13 11:50:40 · 376 阅读 · 0 评论 -
map函数使用测试
首先推荐一款函数库Underscore.js (1.7.0) map_.map(list, iteratee, [context]) 别名: collect 通过变换函数(iteratee迭代器)把list中的每个值映射到一个新的数组中(注:产生一个新的数组)。如果存在原生的map方法,就用原生map方法来代替。如果list是个JavaScript对象,iteratee的参数是(value,原创 2017-06-07 11:23:11 · 480 阅读 · 0 评论 -
promise 方法总结
Promise.all()Promise.all()用于发射多个promise请求,一个回不来 全都回不来const p1 = new Promise((resolve, reject) => { resolve('hello');}).then(result => result).catch(e => e);const p2 = new Promise((r...原创 2019-05-30 15:52:54 · 123 阅读 · 0 评论 -
前端 经验总结
问题集锦async函数和 Generator 函数的区别,体现在以下四点。async函数直接写函数名执行就可以了async 函数是什么?一句话,它就是 Generator 函数的语法糖Generator 函数const fs = require('fs'); const readFile = function (fileName) { return new Promise(fu...原创 2019-05-27 23:27:40 · 568 阅读 · 0 评论 -
js 数组降维
let result = []function ok(arr) { arr.forEach(function (item) { if (Object.prototype.toString.call(item)==="[object Array]") { ok(item) }else { result.push...原创 2019-07-02 15:15:58 · 381 阅读 · 0 评论 -
reduce 重写map
const mapme = function (fn,context) { var arr = Array.prototype.slice.call(this) return arr.reduce(function (pre,cur,index) { return [...pre, fn.call(this,cur,index,this)] },[])}...原创 2019-07-03 11:51:48 · 447 阅读 · 0 评论 -
深入解析JavaScript中的立即执行函数
它是什么 在 JavaScript 里,每个函数,当被调用时,都会创建一个新的执行上下文。因为在函数里定义的变量和函数是唯一在内部被访问的变量,而不是在外部被访问的变量,当调用函数时,函数提供的上下文提供了一个非常简单的方法创建私有变量。function makeCounter() { var i = 0; return function(){ console.log(++i转载 2017-01-22 15:45:41 · 272 阅读 · 0 评论