js常规方法总结
文章平均质量分 76
sky-code
丰富自己,方便他人
展开
-
【JS】深拷贝与浅拷贝的区别,实现深拷贝的几种方法
如何区分深拷贝与浅拷贝,简单点来说,就是假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝,拿人手短,如果B没变,那就是深拷贝,自食其力。 此篇文章中也会简单阐述到栈堆,基本数据类型与引用数据类型,因为这些概念能更好的让你理解深拷贝与浅拷贝。 我们来举个浅拷贝例子: let a=[0,1,2,3,4], b=a; console.log(a===b); a[0...转载 2018-10-31 10:09:33 · 287 阅读 · 0 评论 -
JS中的call()方法和apply()方法用法总结
1. 每个函数都包含两个非继承而来的方法:call()方法和apply()方法。 2. 相同点:这两个方法的作用是一样的。 都是在特定的作用域中调用函数,等于设置函数体内this对象的值,以扩充函数赖以运行的作用域。 一般来说,this总是指向调用某个方法的对象,但是使用call()和apply()方法时,就会改变this的指向。 call()方法使用示例: //例1 <script&g...原创 2018-10-30 15:50:08 · 194 阅读 · 0 评论 -
js中的值类型和引用类型的区别
JS的值类型和引用类型的区别 1.JavaScript中的变量类型有哪些? (1)值类型(基本类型):字符串(String)、数值(Number)、布尔值(Boolean)、Undefined、Null (这5种基本数据类型是按值访问的,因为可以操作保存在变量中的实际的值) (2)引用类型:对象(Object)、数组(Array)、函数(Function) 2.值类型和引用类型的区别 ...原创 2019-02-27 14:57:14 · 500 阅读 · 0 评论 -
js的浅拷贝和深拷贝
浅拷贝 浅拷贝自然就不用多少了,针对引用类型的拷贝,拷贝的是引用地址,上例子: var a={name:'hanmeimei',age:22}; var b=a; b.name='wanglei'; console.log(a)//打印结果 {name: "wanglei", age: 22} 还有一种ES6的方法object.assign(),上例子: //例子1 var a={na...原创 2019-02-27 15:19:24 · 177 阅读 · 0 评论 -
for循环 + setTimeout 结合问题
一、写在前面,setTimeout 和 setInterval 的执行机制 在日常编码中,你会发现,给 setTimeout 和 setInterval 设定延迟时间往往并不准,或者干脆 setTimeout(function(){xxx},0) 也不是立马执行(特别是有耗时代码在前),这是因为 js 是单线程的,有一个事件队列机制,setTimeout 和 setInterval 的回调会到了...转载 2019-02-19 14:56:29 · 602 阅读 · 0 评论 -
实现千位符分隔的方法
1.原生方法 new Intl.NumberFormat('zh-CN', { style: 'currency', currency: 'CNY'}).format(123456.789) 2正则匹配 需要先格式化一下数字让其必须有小数点才行:new Number("12345678.123456").toFixed(2).replace(/\d+?(?=(\d{3})+?\.)/...原创 2019-07-22 11:40:36 · 821 阅读 · 0 评论