听别人面试的录音,发现自己不会的问题,感觉都很简单,但就是自己答不出来。
答案是。 我们知道 const用来定义常量,定义的时候必须初始化,且一旦定义不可更改。 const定义基本数据类型的时候,确实不可修改;如果用来定义引用数据类型的变量,const仅能保证变量中存储的引用地址不能修改,但如果对象属性改变的话并不影响指针的变化,那么也就是说const定义的对象属性是可以更改的。
https://www.webhek.com/post/javascript-loop-foreach-for-in-for-of.html
for in主要来遍历可访问的对象的键名,也可以遍历数组的下标。
for of(ES6)主要来遍历可迭代属性的value。
因为能够被for…of正常遍历的,都需要实现一个遍历器Iterator。而数组、字符串、Set、Map结构,早就内置好了Iterator(迭代器),它们的原型中都有一个Symbol.iterator方法,而Object对象并没有实现这个接口,使得它无法被for…of遍历
for of可以用来遍历数组、字符串、Map、Set、DOM collection 。。。。。。
添加:
document.getElementById("myDiv").classList.add('mystyle');删除:
document.getElementById("myDiv").classList.remove('mystyle');检查是否含有某个css类:
myDiv.classList.contains('myCssClass');jQuery中添加、删除类名的方法是 .addClass .removeClass。
https://blog.csdn.net/qq_39207948/article/details/81067482
https://www.jianshu.com/p/35d69cf24f1f
数组的浅拷贝:arr.slice() arr.concat() for of
对象的浅拷贝:for in Object.assign 扩展运算符 var obj={...obj}
对象的深拷贝:JSON.parse(JSON.stringify(obj)) 递归 immutable 函数库lodash var obj2 = _.cloneDeep(obj1);
