
js
bigfatDone
初级码农
展开
-
关于vue在ie浏览器打不开,页面显示空白,es6转es5失败
由于vue项目使用的js是es6或者是更高的版本,ie11仅支持部分es6新语法,因此需要向下兼容,需要将es6+转换成es5语法cnpm i babel-polify -D-S在main.js 引入 import babel-polifybug: ie浏览器中的babel-polify在本地项目中可以完美运行,但是在打包之后就无法运行旧的babel-polify的core-js包是2.5的@babel/polify里面的core-js包是2.6的然后我们现在虽然都在说es6,.原创 2020-10-21 11:04:35 · 1225 阅读 · 0 评论 -
手把手撸出apply,call,bind的原理实现
1. apply的原理的实现 Function.prototype.myapply = function (context) { context = context || window; // 当前上下文指向函数或者window context.fn = this; // 给当前添加属性fn,并且该属性为调用的函数,那么this就是指向当前的调用函数 let resurlt; // 判断存储是否有第二个参数,如果有第二个参数就将其展开 if (argum原创 2020-06-05 16:06:38 · 258 阅读 · 0 评论 -
手写模拟实现find,findIndex,some,every,map,filter,reduce
1. 模拟实现find let arrFind = [12,15,19] Array.prototype.myFind = function(fn) { //必须使用function不能使用箭头函数,this指向调用的数组 if(typeof fn != 'function'){ throw TypeError('err function') } for(let i = 0; i < this.length; i++){ if原创 2020-05-25 17:42:06 · 991 阅读 · 1 评论 -
使用es6新语法(Set,reduce,filter)进行数组去重
使用Set进行数组去重function unrepeaty(param){ let set = new Set(param) // 这里输出的是set数据类型 console.log(set) // Set { 1, 2, 3, 33, 'ys' } // 可以通过展开运算符来转换会数组 console.log([...set]) // [ 1, 2, 3, 33, 'ys' ] // Array.from将可迭代对象转换成数组 let arr = Array.from(原创 2020-05-20 11:22:06 · 470 阅读 · 0 评论 -
关于传参对象属性修改,源对象保持不变
案例let obj = { // 对象 name: 'father', person: { name: 'son', age: 18 }}function change(param) { param.person.name = 'didi'}console.log(obj) // { name: 'father', person: { name: 'son...原创 2020-03-09 11:33:18 · 605 阅读 · 0 评论 -
原生js与vue对时间戳进行转格式
时间格式转格式使用原生js调用转格式<!-- TODO -->、/**time: 传入的时间戳dateString:日期的格式(1970-01-19 )timeString:时间的格式(13:04:13)*/function timeFormat(time, dateString, timeString) { if (!time) { return...原创 2019-11-11 14:48:12 · 255 阅读 · 0 评论 -
深入理解javascript原型链
在javascript中原型和原型链是一个很神奇的东西,对于大多数人也是最难理解的一部分,掌握原型和原型链的本质是javascript进阶的重要一环。今天我分享一下我对javascript原型和原型链的理解。 一、对象等级划分 我们认为在javascript任何值或变量都是对象,但是我还需要将javascript中的对象分为一下几个等级。 首先Object是顶级公民,这...转载 2019-07-02 09:42:10 · 225 阅读 · 0 评论 -
JavaScript随机打乱数组
var arr = [4,1,67,12,45,121,3];arr.sort(function() { return (0.5-Math.random());})代码arr.sort(function(){ return 0.5 - Math.random() })//sort 是对数组进行排序//他的是这样工作的。每次从数组里面挑选两个数 进行运算。//如果...转载 2019-06-03 15:35:26 · 234 阅读 · 0 评论 -
浅谈JavaScript中的深拷贝与浅拷贝
对于js基本数据类型是不存在深拷贝与浅拷贝的问题。因为基本数据类型只会在栈中开辟地址,每声明一个基本数据类型,就会在栈中开辟一个新的栈地址,每个地址之间互不干预,所以只有引用类型才有深浅拷贝。 对于js中的对象(object)和数组(array)才会出现深拷贝与浅拷贝的问题。说说浅拷贝的原理:有两个变量,变量obj1在栈中开辟了一个obj1的地址,同时变量obj2变量也在栈中开辟了一个o...原创 2019-03-13 22:06:59 · 233 阅读 · 0 评论 -
使用Chrome进行js中的debug调试
1.首先在Chrome上面打开一个程序2.按热键F12可以进入开发者 工具3. 点击红圈4.进入项目的源码区域并且设置断点5.点击你需要点击的事件(第 4 的③可以不用单击也会监听断点)6.进入了console页面,可以调试当前执行到js的变量 ...原创 2018-12-24 10:50:58 · 1745 阅读 · 0 评论 -
js中对拥有多个对象的数组进行sort排序
对于数组的的排序可以有多种方法,其中的sort方法是数组自带的方法但是对于拥有多个对象的数组来说,需要根据数组对象的不同属性键给予数组排序,那么可以用到下面的方法: var student = [{"name":"lisi","age":18,"sex":"male"},{"name":"zhangsan","age":17,原创 2018-08-08 15:03:14 · 3000 阅读 · 0 评论 -
jQuery封装好的jsonp跨域
$.ajax({Type:’get’,Url:’http://tom.com/1.php’,dataType:’jsonp’,Jsonp:’cb’,//jsonp属性的作用就是自定义参数名字(callback = abc这里的名字指的是等号前面的键,后端根据这个键获取方法名,jquery的默认参数名称是callback)jsonCallback:’abc’,//jsonpCallbac...原创 2018-07-27 15:13:21 · 370 阅读 · 0 评论 -
模仿jQuery封装ajax
function ajax(obj){ var defaults = { type: 'get', url: '#', data:{}, dataType: 'text', async : true, success: function(data){console.log(data)} }; for(var key in obj){//遍历ob...原创 2018-07-27 15:07:39 · 372 阅读 · 0 评论 -
javascript中的arguments的应用
在javascript里面函数不能被重载,因此只能隐式调用arguments。 虽然arguments对象并不是一个数组,但是访问单个参数的方式与访问数组元素的方式相同例如:arguments[0],arguments[1],。。。。。。。。arguments[n], function yang(){console.info("hello" +" "+argumen...原创 2018-07-08 15:35:25 · 280 阅读 · 0 评论