javascript_Day2

练习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 用来遍历数据

注意其他两种结构SetMap

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']]

你可能感兴趣的:(javascript_Day2)