
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 · 259 阅读 · 0 评论 -
异步处理
js将任务执行分为同步队列和异步队列 同步队列中,会先等待上一个任务执行完毕,再执行下一个任务 异步队列中,所有任务同时执行 定时器,IO操作,网络请求都会进入异步队列,不会等待上一个任务执行完毕,再执行下一个任务,但有些任务需要等待这些任务执行完毕再执行 promise new Promise((resolve,reject)=>{ setTimeout(()=>{ resol...原创 2019-09-05 17:10:56 · 243 阅读 · 0 评论 -
Object.defineProperty
Object.defineProperty 作用:定义对象的新属性或修改原有的属性 语法:Object.defineProperty(obj, prop, descriptor) obj:对象 prop:需要定义或修改的属性 descriptor:属性的特征 当设置或获取对象的某个属性的值的时候,可以提供getter/setter方法。 getter:获取属性值的方法 setter:设置数性质的方...原创 2019-04-30 13:57:51 · 111 阅读 · 0 评论 -
防止重复ajax
1.UI限制 点击按钮发送Ajax后,禁用按钮,并开启等待动画,等收到服务器的响应后,再隐藏动画 2.函数防抖 用户多次点击按钮,可以通过函数防抖来阻止,原理就是闭包里的setTimeout和clearTimeout,连续的点击再时间内把上一次的处理函数清理,ajax请求在最后一次点击后发出 // 函数防抖 var timer = false; document.getElementById("b...原创 2019-04-18 20:11:58 · 213 阅读 · 0 评论 -
函数节流和防抖
click scroll resize change这些事件会被频繁触发,如果改变了元素的位置,会引起回流和重绘,影响用户体验。对于优化这种现象,有节流和防抖两种方案。 防抖 函数防抖,通过 setTimeout 和clearTimeout来实现,延迟执行函数。如果函数多次触发,则把上次记录的延迟执行代码用 clearTimeout 清掉,重新开始。如果计时完毕,没有方法进来访问触发,则执行代码。...原创 2019-04-18 20:49:37 · 152 阅读 · 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 · 136 阅读 · 0 评论 -
JS判断空对象
1.JSON var 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 in fun...原创 2019-04-19 17:07:49 · 152 阅读 · 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 · 883 阅读 · 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 · 98 阅读 · 0 评论 -
闭包
闭包 外函数内部嵌套内函数,同时将内函数返回。 内部函数引入外部函数的变量及参数,不会被垃圾回收机制所收回 优点: * 可以让一个变量长期驻扎在内存当中不被释放 缺点: * 过度使用闭包,会占用过多的内存,造成性能问题 * 闭包内的变量不会被函数外使用到 example function test(){ var num = 1; num++; console.log(num); } te...原创 2019-04-30 11:39:12 · 117 阅读 · 0 评论 -
JS数据类型
JS数据类型 基本数据类型 Number //数字 Number var a = 10; String //String var name = 'crank'; //如果字符串里面有引号 var str = "I'm iron man"; //用转义字符 \ var str = 'I\'m iron man'; Boolean //boolean //只有两个值true false //没有...原创 2019-04-30 11:14:14 · 136 阅读 · 0 评论