练习2主要是通过date对象获得角度,setInterval对象更新角度值!
练习3主要学习到了 input
的新类型 range 可以理解为滑动条,并且滑动的位置可以用 $("#id").val()得到,type如果取color的时候可以调用系统调色板!模糊属性
filter:blur(10px)
可以达到模糊效果!
练习5主要学习使用toggleClass属性,该属性可以切换!
flex布局属性:flex:1 0 auto;这三个属性分别代表flex-grow(即默认的比例),flex-shrink(缩放的比例,空间不足时缩放,0的话代表不缩放),flex-basis
属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto
,即项目的本来大小。
for in 循环用于遍历可枚举对象(enumberable)属性
var arr=[1,2,3];
arr.foo="test";
Array.isArray(arr);//true
for(i in arr){
console.log(i) // 0,1,2,foo
console.log(arr[i]);
}
for(i of arr){
console.log(i); //1,2,3
}
for in 用来遍历对象属性
for of 用来遍历数据
注意其他两种结构Set
和Map
Set对象可以理解为有键无值,或者值键统一,它类似于数组,但是成员的值都是唯一的,没有重复的值。
* 类似数组!类似数组!类似数组*
Set可以去重,比如var items=new Set(1,2,2,4,4)
=> 它返回 1,2,4
拥有的方法包括 add(),delete(),has()
items.add(3).add(3) 只会添加一次
和对象写法不同的是:
testObj={"width":100,"height":80 } ;
if(testObj["width"])
{
//do sth
}
Set对象一般这么写
var properties = new Set();
properties.add("width");
properties.add("height");
if (properties.has(someName)) {
// do something
}
数组简单去重
function dedupe(array) {
return Array.from(new Set(array));
}
也可以写作
function dedupe2 (array){
return [...new Set(array)] // ...相当于for of?
}
感觉[...set]通常用来把对象转化为数组 ...
神操作这样用 [...arr1,arr2]好像就是拼合数组啊,就相当于把arr1和arr2的方括号给扔掉了!
Set对象用for of可以遍历,然后只有值。此外Set方法还可以快速求出集合的交集或者并集。
求交集:
注意[...a].filter返回的是a里面的东西,b.has(x)
let a = new Set([1, 2, 3]);
let b = new Set([4, 3, 2]);
let intersect = new Set([...a].filter(x => b.has(x)));
求并集,这个比较简单。BJ=new Set([...a,...b])
Map结构,Object 结构提供了“字符串—值”的对应,Map 结构提供了“值—值”的对应,是一种更完善的 Hash 结构实现
let map = new Map([
['F', 'no'],
['T', 'yes'],
]);
for (let key of map.keys()) {
console.log(key);
}
// "F"
// "T"
for (let value of map.values()) {
console.log(value);
}
// "no"
// "yes"
for (let item of map.entries()) {
console.log(item[0], item[1]);
}
// "F" "no"
// "T" "yes"
// 或者
for (let [key, value] of map.entries()) {
console.log(key, value);
}
// 等同于使用map.entries()
for (let [key, value] of map) {
console.log(key, value);
}
map和数组互相转化
let map = new Map([
[1, 'one'],
[2, 'two'],
[3, 'three'],
]);
[...map.keys()]
// [1, 2, 3]
[...map.values()]
// ['one', 'two', 'three']
[...map.entries()]
// [[1,'one'], [2, 'two'], [3, 'three']]
[...map]
// [[1,'one'], [2, 'two'], [3, 'three']]