首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

js对象拷贝方法

; 它不会拷贝对象的不可枚举的属性; 不可以拷贝对象中的对象; 可以拷贝 Symbol 类型的属性; 无法正确拷贝属性和属性 可以拷贝undefined/boolean/null/function/Date.../RegExp/array/array中的对象; 参考阮一峰文档: https://es6.ruanyifeng.com/#docs/object-methods#Object-assign 扩展运算符...这几种类型,经过 JSON.stringify 序列化之后的字符串中这个键值对会消失; 拷贝 Date 引用类型会变成字符串; 无法拷贝不可枚举的属性; 无法拷贝对象的原型链; 拷贝 RegExp 引用类型会变成空对象...; 对象中含有 NaN、Infinity 以及 -Infinity,JSON 序列化的结果会变成 null; 无法拷贝对象的循环引用,如果对象中有循环引用,会报错: Uncaught TypeError...JavaScript内置对象的复制: Set、Map、Date、RegExp等 * 2.

2.4K20

IE中 时间对象方法getTime返回NaN

在IE中使用Date对象的getTime方法解析以下格式的日期时(2020-12-14 16:00:00)会返回NaN,原因是在IE中使用该方法时参数的格式必须为YYYY/MM//DD let date...Date("2020-12-14 16:00:00".replace(/-/g, '/')).getTime(); console.log(date) //1607932800000 replace()方法返回一个由替换值替换部分或所有的模式匹配项后的新字符串...模式可以是一个字符串或者一个正则表达式,替换值可以是一个字符串或者一个每次匹配都要调用的回调函数,如果模式是字符串,则仅替换第一个匹配项,原字符串不会改变 使用Date.parse方法 let date...let newDate = Date.parse(date.replace(/-/g, '/')) console.log(newDate) //1607932800000 Date.parse()方法解析一个表示某个日期的字符串...,并返回1970-1-1 00:00:00 UTC到该日期对象(该日期对象的UTC时间)的毫秒数,如果字符串无法识别,或者包含了不合法的日期数值(2020-02-31),则返回NaN

1.1K10

学习zepto.js(对象方法)

学习zepto.js(对象方法)[4] 今天说说那一套获取元素集合的一些方法: ["children", "clone", "closest", "contents", "empty...我们调用的是对象方法,而对象方法调用的那个就是一个普通的内部私有函数- -(望理解它们之间的区别); 返回的是做一个兼容处理的获取子元素的实现,如果节点存在children属性就直接取出,不存在的话,就循环....下边再介绍它 内层not参数为一个function,not方法内部会执行该function,并将所有不满足的元素返回, 外层not方法的参数就是内层not的返回值,也就是所有不满足的元素的集合,然后再经过筛选...也就变相的取出了所有满足条件的元素; not: not方法用法与filter相同,返回值相反. 用法直接pass. ?...也就是说,not方法传入的参数类型是可以比filter更丰富一些的. 可以传入一个zepto对象,或者一个dom标签数组.一个html片段.等等…… 当然最后返回对象决不会存在于not的参数中.

2.5K60

JS常用方法整理-遍历对象

简介 JS中经常需要对对象的属性进行遍历,下面我们来总结一下JS遍历对象属性的几种方法。...Object.keys() Object.keys()方法接收一个对象为参数,返回一个数组,包含该对象自身的(不含继承的)可枚举属性的key值(不含Symbol属性)。...Object.values() Object.values()方法接收一个对象为参数,返回一个数组,包含该对象自身的(不含继承的)可枚举属性得value值(不含Symbol属性)。...Object.getOwnPropertySymbols() Object.getOwnPropertySymbols()方法接收一个对象为参数,返回一个数组,包含该对象自身的所有Symbol属性。...Reflect.ownKeys() Reflect.ownKeys()方法接收一个对象为参数,返回一个数组,包含该对象自身的所有属性(包含Symbol和不可枚举属性)。

4.5K20

学习zepto.js(对象方法)

学习zepto.js(对象方法)[2] 今天来说下zepto那一套dom操作方法, ['prepend', 'append', 'prependTo', 'appendTo',...prependTo(): 将对象插入到参数内部的头部(可以理解为将prepend的参数变为调用方法对象,将对象变为方法的参数); ? appendTo(): 将对象插入到参数内部的尾部; ?...上边那个数组是储存的几个操作的名称,下边的forEach循环是在zepto自执行函数中执行的,就是说,在构件zepto原型的是否就创建了这几个方法; forEach方法回调返回的参数,第一个是值,第二个是值的下标...; map方法回调返回的参数同上,在方法内部第一个参数名使用了_(下划线),表示在该函数中并未使用到,但必须要占位(某群某大神就是这么干的),注意数组中存储的, 只有四个值(四个将参数插入至对象中的方法名...; 跳过map方法中的处理,不多做解释,因为这个是转换参数为DOm节点的; 在方法返回时执行的each方法, 方法首先会判断该方法是否为对象内部的操作,如果是,将parent变量赋值为当前对象,如果不是

2.6K60

学习zepto.js(对象方法)

学习zepto.js(对象方法)[1] zepto也是使用的链式操作,链式操作:函数返回调用函数的对象....但并不是所有的对象方法都可以进行链式操作,举几个例子:.size(),.html()|.text()//不传参数的情况下; 若非特殊说明,下边介绍的方法都会返回zepto对象; add(): 支持一到二个参数...add函数本身无任何亮点- -,将两个参数原封不动的传入$()然后返回一个Zepto对象,执行concat函数,该函数会将所有参数添加至调用函数对象的末尾, toArray方法会调用get方法,当get...方法执行时而没有传入参数,会将该对象所有的匹配元素以数组的形式返回; uniq方法是一个数组去重的方法,返回的还是一个数组,然后回到add方法再次通过$()构造一个zepto对象返回; addClass...通过each方法循环遍历对象,each方法返回一个zepto对象.首先会判断元素是否存在className属性, 通过className方法获取到当前元素的所有className信息的字符串; ?

2.6K80

学习zepto.js(对象方法)

学习zepto.js(对象方法)[6] first: 获取当前对象集合中的第一个dom元素。...$("div").last();// 返回最后一个div对象(zepto对象) //相当于 $("div").eq(-1); 两方法不接收任何参数。 ?...(dom对象,不是zepto对象) $("div").get();      //所有div对象组成的一个数组 该方法与eq方法的区别在于,eq返回的是zepto对象,而get返回的是dom对象,$()...否则通过当前对象来调用find方法并将selector传入,并调用size方法获取count(filter会自动将返回值转换为bool类型)。 parent: 获取对象集合所有的直接父节点。...pluck方法返回一个数组,参数是一个字符串,为属性名,返回的值是调用对象所对应的属性的值; 然后传入uniq方法方法做了一个去重处理; 最外层的方法filtered,如果第二个参数selector不为空

2.6K80

学习zepto.js(对象方法)

学习zepto.js(对象方法)[5] clone: 该方法不接收任何参数,会返回对象中的所有元素集合,但不会对象绑定的事件. var $temp =$("div").clone...方法的实现就是循环调用方法对象.然后将所有的dom元素克隆并返回 ? 而且使用的深度克隆,就是说,会将节点下方的子节点统统克隆过来....与get方法的区别是,get返回一个dom对象,eq返回一个zepto对象。...find: find方法通过传入的一个参数来筛选出zepto对象符合条件的子节点集合并返回。...方法对象为一个单一的对象,则直接用过qsa方法(前几篇说过qsa方法),将选择器作为一个选择器,并将对象作为上下文传入; 否则循环zepto对象重复上边那一条; (find方法可能说的不太细。

2.7K110

学习zepto.js(对象方法)

学习zepto.js(对象方法)[3] 继续说zepto里attributes的相关操作. attr,removeAttr,prop这三个方法....执行过程与attr的类似,但是attr赋值是通过setAttribute()方法,取值是getAttribute()与对象属性取值的结合.而prop完全操作的是对象的属性; 再来点吧.说说data方法与...方法本身无亮点,但是返回值有三种; 一:   返回一个字符串,作为get值时返回; 二:   返回一个字符串数组,作为get值时返回; 三:   返回对象本身,作为set值时返回; 之所以会存在第二种情况...option子节点.通过filter方法返回被选中的节点集合,并调用pluck方法 ?...一个来自prototype.js大表哥中的方法; 传入一个属性名,将调用者集合中所有的该属性的值作为一个数组返回; 其余的没什么了. 如果有什么疑惑的地方还请留言问我.大家共同学习

2.6K90

JS中遍历对象方法讲解

---在JavaScript中,有几种常用的方法可以用来遍历对象:for...in循环使用for...in循环可以遍历一个对象中的所有可枚举属性。它会将属性名逐个赋值给循环变量,并执行循环体内的代码。...如果只想遍历对象自身的属性,可以通过hasOwnProperty()方法来判断属性是否为对象自身的属性。...Object.keys()和Object.getOwnPropertyNames()方法只会返回对象自身的属性(包括可枚举和不可枚举属性),而不会返回继承的属性。...你可以选择其中一种方法根据需要遍历对象的属性。Object.keys()方法结合forEach()循环Object.keys(obj)会返回一个包含对象自身可枚举属性的数组。...forEach()循环Object.getOwnPropertyNames(obj)会返回一个包含对象自身所有属性(不仅限于可枚举)的数组。

32030
领券