
javascript
Master.Yuan
润物细无声
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
javascript中Map和Object的区别
1、Object的键只能是字符串或者Symbol,而Map的键可以是任意值。2、Map中的键值是有序的(FIFO),而Object中的键是无序的。3、Map中的键值个数可以从size属性中获取,而Object中的键值只能手动获取。Map本质上为二维数组构造...原创 2022-02-25 10:44:01 · 1909 阅读 · 0 评论 -
vue注册全局过滤器
1、新建一个filter.jsexport default { dealSumMoney(val, fix = 2) { if (!val) return val; val = val.toFixed(fix); // 保留小数2位 val += ""; let int = val.slice(0, fix * -1 - 1); // 拿到整数 let ext = val.slice(fix * -1 - 1); // 获取到小数 //每个三位价格逗原创 2021-11-09 10:44:06 · 669 阅读 · 0 评论 -
javascript中Object.keys()和for in 循环的区别;for of 和 for in循环的区别
for in 循环用于对象的遍历,Object.keys()会返回对象的自身可枚举属性组成的数组。两者最主要的区别就是for in 会走原型链,而Object.keys()不会走原型链。原创 2021-11-09 10:00:39 · 1017 阅读 · 0 评论 -
javascript使用Array.fill()时遇到的坑
在使用javascript的Array.fill()方法时遇到的坑,let nameArr1 = new Array(3).fill({})nameArr1[1].name = "kaka"console.log(nameArr1)输出结果如图:数组元素的值会互相影响,原因暂时不知道。后续查看源码弄懂......原创 2021-11-03 18:15:01 · 1047 阅读 · 1 评论 -
javascript创建指定长度数组,且默认填充元素
可以使用 let arr = new Array(n).fill(element)n为数组长度,element为默认填充元素。原创 2021-11-02 10:18:42 · 1765 阅读 · 0 评论 -
javascript对象覆盖部分属性
需求:只需对现有对象的部分属性覆盖例如:只需覆盖info中的age属性,可以使用ES6中的解构赋值语法:原创 2021-09-27 14:00:29 · 2752 阅读 · 0 评论 -
js中for of循环和 for in循环的区别
for in (大部分用于遍历数组的索引)用于循环遍历数组或对象属性,且for in 循环里面的index数string类型的优点:可以遍历数组的键名,遍历对象简洁方便。缺点:不可以用break continue returnfor of 可遍历map、set、object、Array、string ,用来遍历数据,比如数组中的元素值。优点:可以使用continue break return缺点:不能用于遍历原生对象。简单使用案例.........原创 2021-07-03 21:06:59 · 692 阅读 · 1 评论 -
js两种简单实现数组去重的方法。
原创 2021-07-02 18:18:41 · 411 阅读 · 0 评论 -
js数组的reduce方法
1、语法arr.reduce(callback, initialValue) reduce为数组中的每个元素依次执行回调函数,接受4个参数:初始值(或者上次回调函数的返回值)、当前元素值、当前索引、调用reduce的数组。2、实例解析initialValue参数2.1当不设置initialValue参数时输出结果为:可以看出,index是从1开始的,第一次的prev的值是数组的第一个值。数组长度为3,但是reduce循环次数为2。2.2 当设置initialValue参数为.原创 2021-07-02 17:41:36 · 10199 阅读 · 0 评论 -
javascript中依据对象数组中深层次属性排序方案
例如有以下数组:我们希望用math从小到大将数组从排序,则实现方案如下:最终输出结果如下:考虑到程序的扩展性,我们将属性改成了一个数组(无论多少层),在获取属性的时候用到了递归的思想(在阶乘的递归中是从后向前递归的,而我们这获取深层次属性是从前向后的)然后在定义排序函数的时候,默认为升序,只有指定了降序类型时,才为降序输出。...原创 2021-05-26 21:31:38 · 578 阅读 · 0 评论 -
js高阶函数
将一个函数作为另一个函数的参数;1、数组的map方法,返回一个新数组arr.map(item=>item*2);2、数组的reduce方法:可以用来数组求和、数组去重数组求和:letarr=[1,2,3,4,5];letsum=arr.reduce((prev,cur)=>{returnprev+cur;},0);数组去重:let...原创 2020-05-03 12:44:45 · 514 阅读 · 0 评论 -
javascript中的函数防抖和节流
函数防抖(debounce):当持续触发事件时,一定时间内没有再触发事件,事件处理函数才会执行一次;如果设定的时间到来之前又触发了一次,就重新开始延时。尤其是resize、scroll、mousemove、mouseover等let debounce(fn,delay)=>{let timber=null;return function(){if(timber){c...原创 2020-05-03 08:25:04 · 403 阅读 · 0 评论 -
js之浅拷贝和深拷贝
依据本人的认知,所谓浅拷贝,就是副本和原来的对象共享一个对象。示例:var arr=[1,2,3,4];var arr1=arr;实际上arr和arr1指向的是同一个堆内存地址,当对arr1操作时,arr的值也会发生变化。如:arr1.push(5);那么arr和arr1数组的元素都是[1,2,3,4,5]。提出问题:有什么解决方案呢?使用JSON.string...原创 2020-04-23 14:59:25 · 482 阅读 · 0 评论 -
js中数组和对象的区别方法
可以使用:instanceoffunction isArray(obj) { return obj instanceof Array;}function isObject(obj){ return obj instanceof Object;}var arr=[1,2,3,4,5,6];var object={name:'袁文军'};console.log(i...原创 2020-04-22 22:21:28 · 475 阅读 · 0 评论 -
js之经典组合式继承
function Animal(name,age){ this.name=name; this.age=age; this.foods=['水果','鱼'];}Animal.prototype.run=function () { console.log(this.name+","+this.age+",is running");}function Cat...原创 2020-04-20 22:14:37 · 430 阅读 · 0 评论 -
js的原型链继承
function Animal(name,age){ this.name=name; this.age=age;}Animal.prototype.run=function () { console.log(this.name+","+this.age+",is running");}function Cat(name,age){ this.name=n...原创 2020-04-20 21:26:56 · 342 阅读 · 0 评论 -
js中组合模式
组合原型模式和构造函数模式:属性放在构造函数上,方法放在原型上。原创 2020-04-20 20:06:34 · 533 阅读 · 0 评论 -
js中闭包的应用
1、匿名自执行函数模拟块级作用域,示例代码如下:(function(a){console.log(a);})(8);2、循环注册dom事件中的index<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title><...原创 2020-04-19 23:03:57 · 367 阅读 · 0 评论 -
js的原型链
原创 2020-04-19 21:05:54 · 336 阅读 · 0 评论 -
js中数组的map方法
js中数组的map方法是返回一个新的数组(返回每项处理完成后的结果锁组成的数组),对原数组没有影响。var arr=[1,2,3,4,5];var arr1=arr.map(function (item,index,arr) { // 第一个参数是数组的当前元素,第二个参数是下标,第三个参数是数组 return item*2;});...原创 2020-04-19 14:25:33 · 1468 阅读 · 0 评论 -
js的函数式编程
所谓函数式编程,就是一个函数作为另一个函数的输入如数组的sort方法,是按字符串排序的var numarr=[2,5,44,12,25];console.log(numarr.sort()); // 输出的是12,2,25,44,5当使用函数式编程时:numarr.sort(function(a,b){return a-b;// 当a>b时,返回的是一个正数;当a==b时...原创 2020-04-19 12:12:35 · 373 阅读 · 0 评论 -
js中函数重载实现方法
实际上,js是没有函数重载(相同函数名,参数不同),但是可以用参数的个数来实现函数的重载。如以下案例:当参数个数为1时,返回的是正方形,参数个数为2时,返回的是长方形。function React() { if(arguments.length==1){ this.width=arguments[0]; this.height=arguments[0]...原创 2020-04-19 11:39:56 · 1119 阅读 · 0 评论 -
js中将类数组转成数组
var o={};o[0]=true;o[1]=1;o[2]='袁文军';o.length=3var o=Array.prototype.slice.call(o,0);原创 2020-04-18 23:26:25 · 322 阅读 · 0 评论 -
js中函数的apply和call方法的使用
在js中,函数的apply和call方法是用来矫正函数中this的指向的。在以下代码中:function f(a,b){ console.log(this); return a+b;}f();当正常调用函数时,函数f中,this是指向window的。如果我们希望this指向我们自己定义的变量时,可以使用call和apply方法,如以下代码:var o...原创 2020-04-18 22:52:24 · 397 阅读 · 0 评论 -
如何理解javaScript中的函数参数的值传递和地址传递
在实际函数调用中,如果函数参数是简单类型(string、number、boole、undefinde、null)会做一个值类型的数值副本传到函数内部;如果参数类型是引用类型(对象、函数、数组),会将引用类型的地址复制传给函数的参数。结合具体函数展示效果<script> var a=9; var person={name:'袁文军',age:19}; ...原创 2020-04-09 20:47:59 · 595 阅读 · 0 评论 -
javascript中.min.js文件和.js文件的区别
.js是ja源码文件,.min.js是压缩版的js文件两者的区别:.js文件:优点:可读性好,易于debug和修改缺点:体积大,传输时间长.min.js文件:优点:体积小,源码防窃缺点:可读性差...原创 2020-03-22 10:31:45 · 658 阅读 · 0 评论 -
数字的自变量
八进制,一般是以0开头、0o或者0O开头,八进制只能用0~7来表示;如果以0x来表示,则表示的是十六进制。原创 2020-03-12 22:30:01 · 452 阅读 · 0 评论