![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javascript
Crank2
这个作者很懒,什么都没留下…
展开
-
【无标题】JS new做了什么
JS new做了什么使用关键字new创建新实例对象经过了以下几步:function Person (name,age,sex) { this.name = name; this.age = age; this.sex = sex; this.getName = function () { console.log('my name is ' + this.name); };} let person = new Person("xiaohei",原创 2022-02-08 15:23:36 · 203 阅读 · 0 评论 -
异步处理
js将任务执行分为同步队列和异步队列同步队列中,会先等待上一个任务执行完毕,再执行下一个任务异步队列中,所有任务同时执行定时器,IO操作,网络请求都会进入异步队列,不会等待上一个任务执行完毕,再执行下一个任务,但有些任务需要等待这些任务执行完毕再执行promisenew Promise((resolve,reject)=>{ setTimeout(()=>{ resol...原创 2019-09-05 17:10:56 · 142 阅读 · 0 评论 -
Object.defineProperty
Object.defineProperty作用:定义对象的新属性或修改原有的属性语法:Object.defineProperty(obj, prop, descriptor)obj:对象prop:需要定义或修改的属性descriptor:属性的特征当设置或获取对象的某个属性的值的时候,可以提供getter/setter方法。getter:获取属性值的方法setter:设置数性质的方...原创 2019-04-30 13:57:51 · 77 阅读 · 0 评论 -
防止重复ajax
1.UI限制点击按钮发送Ajax后,禁用按钮,并开启等待动画,等收到服务器的响应后,再隐藏动画2.函数防抖用户多次点击按钮,可以通过函数防抖来阻止,原理就是闭包里的setTimeout和clearTimeout,连续的点击再时间内把上一次的处理函数清理,ajax请求在最后一次点击后发出// 函数防抖var timer = false;document.getElementById("b...原创 2019-04-18 20:11:58 · 163 阅读 · 0 评论 -
函数节流和防抖
click scroll resize change这些事件会被频繁触发,如果改变了元素的位置,会引起回流和重绘,影响用户体验。对于优化这种现象,有节流和防抖两种方案。防抖函数防抖,通过 setTimeout 和clearTimeout来实现,延迟执行函数。如果函数多次触发,则把上次记录的延迟执行代码用 clearTimeout 清掉,重新开始。如果计时完毕,没有方法进来访问触发,则执行代码。...原创 2019-04-18 20:49:37 · 113 阅读 · 0 评论 -
JS数组
数组创建数组//1)字面量var arr = [1,2,3];//2)使用构造函数创建var arr = new Array();//创建一个空数组var arr = new Array(7);//创建一个长度为7的数组(数组项都为undefined)var arr = new Array('sexy','beauty','nice','lovely');//创建数组并同时写入数据...原创 2019-04-30 17:26:01 · 105 阅读 · 0 评论 -
JS判断空对象
1.JSONvar o = {};var o2 = new Object();console.log(JSON.stringify(o)=="{}",JSON.stringify(o2)=="{}");o.a = 1;o2.a = 1;console.log(JSON.stringify(o)=="{}",JSON.stringify(o2)=="{}");2.for infun...原创 2019-04-19 17:07:49 · 119 阅读 · 0 评论 -
JS判断对象是对象还是数组
JS判断对象是对象还是数组1.typeof操作符2.instanceof操作符3.对象的constructor属性检测数组类型方法1.Object.prototype.toString2.Array.isArray()3.较好参考1.typeof操作符这种方法对于一些常用的类型来说那算是毫无压力,比如Function、String、Number、Undefined等,但是要是检测Array的对...转载 2019-03-25 15:15:00 · 701 阅读 · 0 评论 -
for in 和for of的区别
for in 和for of的区别1 遍历数组通常用for循环ES5的话也可以使用forEach,ES5具有遍历数组功能的还有map、filter、some、every、reduce、reduceRight等,只不过他们的返回结果不一样。但是使用foreach遍历数组的话,使用break不能中断循环,使用return也不能返回到外层函数。Array.prototype.method=func...转载 2019-03-25 15:47:14 · 64 阅读 · 0 评论 -
闭包
闭包外函数内部嵌套内函数,同时将内函数返回。内部函数引入外部函数的变量及参数,不会被垃圾回收机制所收回优点:* 可以让一个变量长期驻扎在内存当中不被释放缺点:* 过度使用闭包,会占用过多的内存,造成性能问题* 闭包内的变量不会被函数外使用到examplefunction test(){ var num = 1; num++; console.log(num);}te...原创 2019-04-30 11:39:12 · 83 阅读 · 0 评论 -
JS数据类型
JS数据类型基本数据类型Number//数字 Numbervar a = 10;String//Stringvar name = 'crank';//如果字符串里面有引号var str = "I'm iron man";//用转义字符 \var str = 'I\'m iron man';Boolean//boolean //只有两个值true false//没有...原创 2019-04-30 11:14:14 · 102 阅读 · 0 评论