js
残梦a
童年时,这个世界充满了新奇的玩具,再普通的东西在你眼中都如同至宝。如今,计算机语言就是你手中的大玩具,一段段代码的拆分组装,构建出我们所生活的网络世界。永远有无数新奇等你发现,永远有无数梦想等你构建。
展开
-
深拷贝的理解和如何手写一个深拷贝
深拷贝说到深拷贝,肯定想到的最简单的方式就 JSON.stringify 和 JSON.parse 配合,这个是最简单的深拷贝方式手写一个深拷贝深拷贝 = 浅拷贝 + 递归 ,这个只是最笨的一种方式var a = { name: "muyiy", book: { title: "You Don't Know JS", price: "4...原创 2020-03-18 15:23:06 · 705 阅读 · 0 评论 -
完美解决原型和原型链理解问题
理解原型和原型链原型和原型链学了很久,但是一直没有完全理解,虽然现在也没用完全理解,但能勉强对付一下了这里面先参考一下 阮大大的教程前言要先从继承开始讲起,根据其他语言比如java或者c++来说,他们都可以通过new来创建一个实例对象,然后js也出现了new的关键字,但是new后面不能跟着类,必须要跟着构造函数new运算符的缺点用构造函数生成实例对象,有一个缺点,那就是无法共享属性和方...原创 2020-03-18 15:14:58 · 269 阅读 · 0 评论 -
vue常用修饰符
在开发的过程中,如果我们能够熟练掌握vue的修饰符,就可以大大提高我们的开发效率分类表单修饰符事件修饰符鼠标按键修饰符键值修饰符表单修饰符.lazy<div> <input type="text" v-model="value"> <p>{{value}}</p></div>//每次数据改变...原创 2020-01-13 21:48:38 · 448 阅读 · 0 评论 -
antd按需加载
antd简介antd 是蚂蚁金服推出的一套非常好的React UI库,使用起来特别方便,而且也推出了Antd手机端库,同时还推出了vue的使用方式如果没有按需加载,我们如果想要使用一个标签,比如Button,需要导入js和css文件,使用起来不是很方便,而且还会造成性能上面的一个下降,先来看一下正常版本的使用import React from 'react';import { ...原创 2020-01-06 19:17:44 · 609 阅读 · 0 评论 -
记录自己的一次pjax性能优化
什么是pjax?pjax = ajax + pushState通过ajax让页面进行局部刷新,然后通过pushstate让url发生改变,再让pushState,让页面产生一个回退的记录,从而让页面的性能进行大幅度的优化简单demo感受一下准备两个页面 index.html content.htmlindex.html<!DOCTYPE html><ht...原创 2019-12-20 20:23:25 · 380 阅读 · 0 评论 -
策略模式概述
策略模式优点以及定义策略模式是一种从算法的角度上考虑问题的方式,所有需要算法解决的问题,都可以采用策略模式的角度,降低算法与算法之间的偶尔度偶尔度说白了就是一个方法对于一个方法的依赖性,就是删除一个方法尽可能少的影响其他的方法使用其实我们在开发的过程中,都使用过策略模式,只是我们本身没有去注意摆了举例说明使用现在我们要做一个表单验证正常新情况下$('#btn_send...原创 2019-12-17 19:06:53 · 117 阅读 · 0 评论 -
什么是防抖和节流?
防抖解释定义防抖是指在一定的时间内再次触发此事件,会清空上次的事件重新开始,如果制定的时间内没有再次触发,那么这个事件才会执行例如: input输入信息,不可能每次按下都发起一个ajax请求,可以等一段时间内不输入了之后在发起请求代码样例function debounce(sayHi){ var timer = null return function(){ clea...原创 2019-12-11 09:08:33 · 480 阅读 · 0 评论 -
如何实现一个MVVM
说一说我对于mvvm模型的理解吧我第一次接触mvvm也是在学习vue的时候,在我看来vue和react都是数据驱动视图,但是vue属于标准的mvvm模型,react是从组件化演变而来不多废话,直接粘图第一次使用mvvm的时候感觉特别的神奇,我只是修改了数据就可以驱动视图的改变学习mvvm模型的作用一开始就是在学习vue的使用还有vuex等等很多,也能做一些小的网站,但就是...原创 2019-11-10 21:24:00 · 240 阅读 · 0 评论 -
js手写一个new
手写new看一下正常使用newfunction Dog(name){ this.name = name}Dog.prototype.sayName = function(){ console.log(this.name)}var dog = new Dog('小狗')dog.sayName()结果为小狗自己手写的newfunction Dog(name){ ...原创 2019-12-06 14:29:34 · 421 阅读 · 2 评论 -
js中实现继承的几种方式
继承JS中继承的概念:通过【某种方式】让一个对象可以访问到另一个对象中的属性和方法,我们把这种方式称之为继承 并不是所谓的xxx extends yyy为什么要使用继承?有些对象会有方法(动作、行为),而这些方法都是函数,如果把这些方法和函数都放在构造函数中声明就会导致内存的浪费 function Person(){ this.say=function()...原创 2019-12-06 14:27:54 · 116 阅读 · 1 评论 -
npm简单实用
npm包管理工具npm可以理解为前端的maven,一个包的管理工具1. 查看npm和node版本node -v npm -v2. 初始化项目npm init默认配置初始化项目npm init -y3. 安装本地安装npm install <Module Name>@版本号全局安装npm install <Module Name>@版本号 ...原创 2019-11-23 10:18:49 · 172 阅读 · 0 评论 -
js中的this指向问题
关于js的this指向问题一直困扰着我们,并且面试的时候总是喜欢有关this的的问题讨论this的指向,就要从四个角度来分析看触发this的方式去决定this指向哪里1.方法调用var obj = { name: '残梦博客园', say: function(){ console.log(this.name) //残梦博客园 }}obj.s...原创 2019-11-14 14:24:51 · 214 阅读 · 2 评论