“JavaScript笔记”

学习js

第一部分

use strict-规范要求,写在第一行,用来检查

let-用来定义局部变量

- console.log()

- 字符串不可变,长度也可以是length访问,大小写函数和java很像,substring、indexof也一样。

- 数组长度可以变,arr.length=…可以随意改变,只不过值是undefined;数组还有push、pop压入弹出(尾部);unshift\shiift-压入弹出头部

第二部分

- 对象 {}-表示一个对象,而且用键值对表示属性,最后一个属性不用逗号

var 对象名 = {

属性名:属性值,

属性名:属性值

}

- 动态删除和增加属性

用delete删除,加上对象

直接用属性来添加也可以

- Map set-ES6才出来的

``` JavaScript var map = new Map([“tom”,100],[“cks”,34]);

var name = map.get(“tom”);

map.set(“admin”,45);//新增

map.delete(“tom”)//删除

// set无序不重复的集合

var set = new Set([12,3,4,45]);

set.add(6);

set.delete(1);

```

- iterator遍历集合,用for of也可以遍历,for in也可以,还有foreach遍历

- arguments是在函数里可以传递所有参数的数组,fori循环来使用,包含所有的参数

- rest可以获取除了已经定义的参数

- js中var定义变量是由有作用域的,js中函数查找都是就近原则

- const关键字-表示只读变量

## 第三部分

- Date

get方法-年月日都可以获得,还有时分秒

- JSON

早期习惯是用XML来传输数据

是轻量级的数据交换格式,特点是清晰和简洁,任何js支持的类型都可以用json来表示

- 格式

对象使用{}

数组[]

所有键值对使用key-value格式

```JavaScript

//Converts a JavaScript value to a JavaScript Object Notation (JSON) string.

//对象转化为JSON字符串

var jsonuser = JSON.stringify()

//JSON字符串再转化为对象 参数是传入json字符串

var obj = JSON.parse(‘{“name”:”yhy”,”age”:3,”sex”:”男”}’);

```

- 面向对象

- 继承

一开始使用._proto_,后面ES6使用了class,模板和java一样,可以定义一个class,里面使用constructor用来定义构造函数的

## 第四部分

- BOM-浏览器对象模型

window-浏览器窗口

Navigator-封装了浏览器的信息