js
angus.dai
一只前端萌新!
展开
-
vue计算属性、侦听器、插槽
计算属性(computed)计算结果并返回,只有当被计算的值发生改变时才会触发(即:计算属性的结果会被缓存,除非依赖的响应式属性变化才会重新计算)主要用于处理计算逻辑比较复杂的运算,计算属性默认只有getter方法,如果需要你也可以加一个setter方法computed: { fullName: { // getter get: function () { ...原创 2020-05-05 17:37:40 · 406 阅读 · 0 评论 -
vue中的prop
学习vue有一段时间了,也写了一些东西。今天看文档突然看到了一个好玩的东西,那就是prop。prop的作用是父组件中引用了子组件并给子组件加了一个属性,这个属性可以是静态的,可以是动态的,可以是数字,可以是字符串,可以是数组,还可以是对象。接下来就展示改怎么用。传静态的属性子组件:<template> <div> <h1>{{ msg }}&l...原创 2020-05-05 17:36:23 · 291 阅读 · 0 评论 -
防抖
原理防抖的原理是:你尽管触发事件,但是我一定要在事件触发n秒之后才执行,如果你在一个事件触发的n秒内又触发了这个事件,那我就以新的事件的时间为准,n秒后再执行。总之,就是要等到你触发完事件n秒内不再触发事件,我才执行。案例<!DOCTYPE html><html lang="zh-cmn-Hans"><head> <meta charse...原创 2020-05-05 17:26:33 · 943 阅读 · 0 评论 -
什么是mvvm
mvvm是model-view-viewModel的简写,即模型-视图-视图模型。模型指后端传递的数据。视图指的是所看到的页面。视图模型是mvvm的核心,他是连接view和model的桥梁。 它有两个方向:一是将【模型】转化成【视图】,即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定。二是将【视图】转化成【模型】,即将所看到的页面转化成后端的数据。实现的方式是:DOM...原创 2020-05-05 17:25:54 · 476 阅读 · 0 评论 -
js进阶小知识
关于函数名和var声明的变量名相同的情况function a() { console.log(10);}var a;console.log(a); // 打印 a() 函数的函数体a(); // 10a = 3;1、函数和var声明的变量作用域会发生提升2、han’shu提升会优先与变量提升3、如果函数和变量名一样,并且变量没有被赋值,则函数生效...原创 2020-05-05 17:24:11 · 160 阅读 · 0 评论 -
js遍历对象
方式一var obj = {'0':'a','1':'b','2':'c'};for(var i in obj) { console.log(i,":",obj[i]);}方式二var obj = {'0':'a','1':'b','2':'c'};Object.keys(obj).forEach(key => { console.log(key,obj[key])...原创 2020-05-05 17:22:01 · 126 阅读 · 0 评论 -
js数组去重
使用set进行简单去重let arr = [1, 1, 2, 3, 3, 5, 5, 3]let set = new Set();arr.forEach(val => { set.add(val)})console.log("arr: ", arr); // 1, 1, 2, 3, 3, 5, 5, 3console.log("set: ", set); // 1, ...原创 2020-05-05 17:20:48 · 113 阅读 · 0 评论 -
js类型判断
基本数据类型用typeofvar a = "test";console.log(typeof(a)); // string复合类型用instanceof和constructorvar b = new Date();console.log(b instanceof Date); // trueconsole.log(b.constructor === Date); /...原创 2020-05-05 17:18:12 · 142 阅读 · 0 评论 -
引用赋值、浅拷贝、深拷贝
引用类型赋值只是改变了指针的指向,值会跟着一起变化引用类型浅拷贝复制一层对象的属性,并不包括对象里面的为引用类型的数据,当改变拷贝的对象里面的引用类型时,源对象也会改变。浅拷贝的实现方式一:// 只复制第一层的浅拷贝function simpleCopy(obj1) { var obj2 = Array.isArray(obj1) ? [] : {}; for (le...原创 2020-05-05 17:12:33 · 384 阅读 · 0 评论 -
js设计模式
单例模式单例模式也称作为单子模式,单体模式。单例模式的定义是产生一个类的唯一实例,是软件设计中较为简单但是很常用的一种设计模式。单例模式的核心是确保只有一个实例,并提供全局访问工厂模式把实现同一件事情的相同代码放到同一个函数中,以后如果再想实现这个功能,只需要调用这个函数就可以了,提高代码的重复利用率function createFactory(name, age) { let ...原创 2020-05-05 17:11:05 · 87 阅读 · 0 评论 -
js判断对象中是否包含某个属性
方法一(in)有返回true,否者返回falsevar obj = { name: 'dj', age: 18}console.log('name' in obj) // trueconsole.log('eat' in obj) // false方法二(hasOwnProperty)有返回true,否者返回falsevar obj = { name:...原创 2020-05-05 17:09:22 · 3980 阅读 · 1 评论