![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
文章平均质量分 64
沉沦与遐想。
余生是你,满心欢喜
展开
-
Vue子组件怎么调用父组件的方法 Vue子组件调用父组件函数的三种方法
Vue子组件怎么调用父组件的方法 Vue子组件调用父组件函数的三种方法原创 2022-08-08 17:44:49 · 4793 阅读 · 2 评论 -
vue组件间传值父传子子传父兄弟间传值
一丶父子组件传值先在父组件中给子组件的自定义属性绑定一个 父组件的变量<template class="father"> <child :自定义属性名="父组件的变量"></child> <template >在子组件的props属性中可以取出父组件给的值,props中的变量用法和data中变量用法完全一样,只不过值的来源不同export default { name: "child", props: ["自定义属性名"],原创 2022-02-10 19:09:34 · 12297 阅读 · 5 评论 -
JS数组去重的几种方法
数组去重1 双层for循环(类似冒泡排序的双层循环写法)var arr = [2,3,4,2,34,21,1,12,3,4,1]for(var i =0;i<arr.length;i++){ //第一层:每次循环拿到arr中一个元素 for(var j=i+1;j<arr.length;j++){ //第二层:每次拿到的元素再和每次拿到的元素后边的元素依次进行比对(因为第一个要从第二个开始比,第二个要从第三个比以此类推,所以这里的j应比i大1为j=i+1)原创 2021-09-25 21:31:40 · 1999 阅读 · 16 评论 -
浅谈前端面试题 JavaScript 执行上下文和执行栈
执行上下文:先看一段代码在浏览器中的执行结果:console.log(a);b();console.log(this);var a = 1;function b(){ console.log("b")}执行结果:我们都知道javascript是一种解释性语言 ,它会从上至下逐行执行,但是很明显以上代码就不是这回事。其实javascript在执行代码前,会做的一些准备工作,这就是执行上下文。全局执行上下文javascript在执行代码前,将window确定为全局执行上下文原创 2021-05-06 10:55:27 · 557 阅读 · 13 评论 -
JS数组降维的几种方法
二维数组降维使用数组实例方法concat和ES6扩展运算符降维let arr=[1,2,[3,4],5];let arr1=[].concat(...arr);//先使用扩展运算符打散最外边的数组,concat自带打散粘合数组的功能console.log(arr1);// [1, 2, 3, 4, 5]//ES6之前用apply打散数据的兼容性写法var arr2=[1,2,[3,4],5];var arr3=[].concat.apply([],arr2);console.log(a原创 2021-04-07 10:24:09 · 2039 阅读 · 23 评论 -
ES6学习笔记:Symbol
Symbol什么是Symbol ES6引入了一种新的原始型数据类型 Symbol ,表示独一无二的值。它是JacaScript的第七中数据类型(现在JavaScript的数据类型:String、Number、Boolean、undefined、null、Symbol、Object)。为什么要引入Symbol ES6前所有对象的属性名都是字符串,如果你使用了别人的一个对象,又想为这个对象添加方法时,新方法的方法名就可能和原有方法的名字冲突。ES6中的Symbol值表示独一无二的值,如果属性名使用S转载 2021-04-07 09:21:39 · 226 阅读 · 4 评论 -
js按值传递 两个变量间赋值 原始类型引用类型的按值传递
按值传递两个变量间赋值时,以及给函数传参时,只是将原变量中的值复制一个副本给对方变量或形参变量对于原始类型(number, bool, string…)的值,修改新变量,不影响原变量var a=5;var b=a;b++;console.log(a); //5对于引用类型的值(Object,Array…)的值,因为传参和赋值时,复制的是地址值的一个副本,修改新的变量中的属性,是会影响原变量的var d={f:1};var e=d;e.f++;console.log(d.f);原创 2020-09-16 15:27:32 · 1924 阅读 · 4 评论 -
前端面试必备:彻底搞懂什么是Promise Promise对象的特点 Promise对象的优缺点 .then .catch .finally ...
ES6 Promise一丶什么是Promise在浏览器中输出一下代码var myPromise = new Promise(function(resolve, reject){ setTimeout(function(){ resolve("hello!"); }, 500);});console.log(myPromise);看图可知:Promise是一个构造函数;__proto__属性中保存了一个地址值,指向了实例化得到的myPromise对象的原原创 2020-12-04 16:57:57 · 1574 阅读 · 8 评论 -
前端面试必备:彻底搞懂防抖和节流及其应用场景
防抖和节流函数节流和函数防抖,两者都是优化高频率执行js代码的一种方法防抖(debounce):只要不是最后一次触发就不会发送异步请求(定时器实现)。节流(throttle):只要第一次请求发送后,响应没回来,就不能发送第二次请求(开关变量实现)。防抖现象看下以下代码(模拟客户端向服务器发送请求):window.onscroll = function () { console.log("发送agax请求,加载更多...");};可以看到,我仅仅向下滑动了3次,向上滑原创 2020-09-11 17:25:35 · 1961 阅读 · 5 评论 -
ES6学习笔记: rest参数 和 扩展运算符
rest参数ES6引入用来代替arguments,收集函数的多余参数,放在一个数组中。只要有多个参数的个数不确定的时候,就首选rest参数。该运算符主要用于函数定义。// arguments变量的写法function sortNumber() { //arguments中就收集了所有的实参值 return Array.prototype.slice.call(arguments).sort((a,b)=>a-b); //强行调用数组原型对象上slice方法把arguments原创 2021-03-26 15:23:15 · 311 阅读 · 3 评论 -
js面向对象之公有属性和方法、私有属性和方法、静态方法、实例方法
公有属性和方法,私有属性和方法,静态方法,实例方法什么是公有属性和公有方法属于这个类的所有对象都可以访问到的属性叫做公有属性,都可以访问到的方法叫做公有方法。不论是公有方法还是公有属性都是一个类型下所有实例对象都有的东西。ES5:function Student(sname,sage){ this.sname=sname; // 公有属性 this.sage=sage; // 公有属性}Student.prototype.intr=function(){原创 2021-03-24 14:56:54 · 1211 阅读 · 5 评论 -
ES6 箭头函数基本用法和使用注意的点
箭头函数基本用法ES6 允许使用“箭头”(=>)定义函数。 function fun(a){ return a; }// ↓ 去掉 function 在 ( ) 和 { } 之间添加 => var fun = (a) => { return a; } // ↓ 如果只有一个形参可省略 ( ) 如果一个形参都没有,必须加( ) var fun = a => { return a; } // ↓ 如果函数体只有一句话,可省略{ },如果仅有的原创 2021-03-19 13:48:28 · 4090 阅读 · 5 评论 -
JS常用静态方法总结
JS对象常用静态方法Object.is()用来比较两个值是否严格相等,与严格比较运算符(===)的行为基本一致。不同之处只有两个:一是+0不等于-0,二是NaN等于自身。+0 === -0 //trueNaN === NaN // falseObject.is(+0, -0) // falseObject.is(NaN, NaN) // trueObject.assign()Object.assign(newObject,object1,object2,object3...)用法:原创 2021-03-18 15:46:30 · 2631 阅读 · 3 评论 -
typeof运算符 instanceof运算符
typeoftypeof是一个一元运算符,放在其单个操作数据的前边,操作数据可以是任何类型。返回值是一个类型字符串。typeof运算符也可以加圆括号typeof(x)这样的它更像是一个函数调用。任意值在tyoeof运算后的返回值xtepeof xundefined“undefined”null“object”ture/false“boolean”任意数字或NaN“number”任意字符串“string”任意函数“function”任意原创 2021-03-17 16:49:56 · 470 阅读 · 6 评论 -
js中常用数组函数总结 reduce() forEach() every() some() map() filter()...
数组API一、会改变原数组splice()let newArr = arr.splice(start,count,value1,value2...);用法: 删除数组中的元素,会直接在原数组上操作参数: slice:开始的下标 count:删除的数量 value…:删除以后补充的元素 如果count为空表示删除到最后,value为空表示不补充任何元素;返回删除的元素,原数组会发生变化返回值: 返回一个新的数组都是要删除的元素案例:let arr = [0,1, 2,原创 2021-01-12 16:50:28 · 591 阅读 · 5 评论 -
浅谈Javascript数据属性与访问器属性 Object.defineProperty() Get() Set()
浅谈Javascript数据属性与访问器属性ES5将对象的属性进行了分类:命名属性: 能用.访问到的属性(1). 数据属性: 属性值直接保存在属性本地的属性(2). 访问器属性: 不实际存储属性值,仅提供对另一个数据属性的保护内部属性: 无法用.访问到的,但是却包含在对象内部的属性数据属性ES5将每个数据属性,都变成一个缩微的小对象,每个小对象都有这个4个属性{ //四大特性: value:"" //实际存储属性值 writable: true原创 2020-12-31 17:53:48 · 430 阅读 · 0 评论 -
前端面试必备:全方位理解Javascript面向对象 封装,继承,多态 prototype、__proto__、constructor new 工厂模式 原型对象 原型链 重写 重载
全方位理解Javascript面向对象一. 什么是面向对象什么是对象:对象是一组无序的相关属性和方法的集合对象是由属性和方法组成属性:事物的特征,在对象中用属性来表示(常用名词)方法:事物的行为,在对象中用方法来表示(常用动词)面向对象的优点:易维护,易复用,易扩展,由于面向对象有封装、继承。多态的特性,可以设计出低耦合的系统,使系统更加灵活,更加易于维护(c++,c#,java,javascript)面向对象缺点:性能比面向过程低(C语言)面向对象的三大特点:封装,继承,多态。原创 2020-12-25 17:29:55 · 607 阅读 · 4 评论 -
js中字符串常用方法总结 slice,substr和substring方法的对比 search() match() replace() includes()...
charAt()let str=stringObject.charAt(index)用法: 获取下标对应的字符,也可以使用数组的访问形式 字符串[下标]。参数: index(必需):字符在字符串中的下标。返回值: 指定位置的字符。案例:let str = "helloworld".charAt(5);//str="w";charCodeAt()let str=stringObject.charCodeAt(index)用法: 获取下标对应的字符的 Unicode原创 2020-12-23 10:44:02 · 658 阅读 · 6 评论 -
js中call,apply和bind方法的区别和使用场景
call(),apply(),bind()Function.prototype.call()functionFun.call(thisArg, arg1, arg2, ...)用法: 用来在调用函数时,临时替换一次函数内部的this。参数: thisArg:调用时用来替换函数内部的this值。 arg1, arg2, …:指定的参数列表。返回值: 使用调用者提供的 this 值和参数调用该函数的返回值。若该方法没有返回值,则返回 undefined案例://全局有一个计算器方原创 2020-12-21 17:07:48 · 569 阅读 · 5 评论 -
ES6解构赋值 数组解构赋值 对象解构赋值 函数参数解构赋值 解构 参数解构
解构赋值什么是解构赋值:按照一定的模式从数组或者对象中提取值,然后对变量进行赋值,这被称为解构赋值。数组解构赋值基本用法下标对下标。let [a,b,c]=[1,2,3];let [a,[[b],c]=[1,[[2],3]];结果: 同时声明三个变量a,b和c,a拿到值1, b拿到值2,c拿到值3。这种写法属于"模式匹配",只要模式相同左边的变量就会被赋予相对应的值。let [,,third] = ["foo","bar","baz"] //third="baz"(解构部分)let原创 2020-12-17 13:52:40 · 718 阅读 · 2 评论 -
ES6 let var const 对比区别总结 let面试题 JS中var和let const的区别
let var constvar关键字var关键字的用法js中声明变量的关键字。var num = 1;如果在函数作用域中声明,为局部变量;如果在全局中声明,则为全局变量。num = 2;这种写法实际上是赋值,如果在函数作用域中赋值就会去找当前函数作用域中的num,如果当前作用域中没有这个变量就会接着去上一个作用域中寻找,直到找到全局,在全局中如果也并没有声明过这个变量,就会给全局对象window强行添加一个num属性进行赋值。var关键字的缺点1) var会被声明提前,会打乱程序原本原创 2020-12-15 11:05:43 · 2881 阅读 · 16 评论