1-1 基本数据类型number,string,boolean
// 基本数据类型 number string booleanvar a = 10;var str = "hello world";var b = true;console.log(typeof a); // numberconsole.log(typeof b); // stringconsole.log(typeof c); // boolean
1-2 引用数据类型 Array,Function,Object
1-2-1数组Array
数组 array [] typeof 不能识别数组
// 数组 array [] typeof不能识别数组// 使用 Array.isArray 来判断var arr = [1,2,3];console.log(arr.length);console.log(typeof(arr)); // objectconsole.log(Array.isArray(arr)) // true// 数组下标从0开始,下标越界之后输出undefined
1-2-2 对象
// 声明JSON对象// {key:value} {键:值}// 在js中key的引号可以省略var zheng = {"name":"zheng","sex":"女"}var obj ={name:"zhang",age:18}// 2.读取Json对象的值console.log(zheng.name)// 3.给对象添加属性zheng.skill = "javascript"console.log(zheng)
1-2-2-1 读取对象的值
. 只能读取具体的属性值[] 读取变量要通过中括号的方式读取
var obj={1001:false,1002:false,1003:false}for(let key in obj){if(key ==1003){obj[key] = true}}console.log(obj)
获取对象的长度:Object.keys(obj).length
判断一个对象是否包含自定义属性: changeValues.hasOwnProperty(‘checkType’)
1-2-2-2 对象的方法
Object.keys(obj) // 可以获取对象所有的键值 返回的是一个数组Object.values(obj);Object.assign(obj,{age:18}) // 作用:给对象添加新的属性
1-2-2-2 Json的方法
JSON.parse( ) // 将json格式的字符串转为json对象JSON.stringify( ) // 将json对象转为json格式的字符串
- json-array结合
var obj = [{name:"zcy",age:18},{name:"mhm",age:18}]console.log(obj)
1-2-2-3 对象引用解除
```javascript var object1 = new Object();JavaScript语言有垃圾收集的功能,因此当你使用引用类型时无需担心内存分配。但最好在不使用对象时将其引用解除,让垃圾收集器对那块内存进行释放。解除引用的最佳手段是将对象变量置为null。
// do something
object1 = null; //这里,对象object1被创建然后使用,最后设置为null。当内存中的对象不再被引用后,垃圾收集器会把那块内存挪作它用(在那些使用几百万对象的巨型程序里,对象引用解除尤其重要)。
<a name="liYTH"></a>### 1-2-3 函数function```javascript// function 封装一段特定功能的代码function go(){console.log("hello world")}go();// 函数的参数是局部变量function show(x){console.log(x)}show(3);
1-3 全局变量和局部变量
// 函数里面使用var 定义的变量(包含函数的变量) --局部变量
// 函数外面声明的变量 --全局变量
var a = 10; // 全局变量
function show(){
console.log(a) // 10
var b = 20; // 局部变量
console.log(b); //20
}
show();
console.log(b) // 报错 b is not defined
1-4 判断数据的类型
1-1 typeof
## typeof 操作符去判断一个数据的类型,不可以判断 null 和 array
// 基本数据类型 number string boolean
var a = 10;
var str = "hello world";
var b = true;
console.log(typeof a); // number
console.log(typeof b); // string
console.log(typeof c); // boolean
1-2 instanceof
用来判断一个构造函数的prototype属性所指向的对象是否存在另外一个要检测对象的原型链上
判断一个对象是否是数据类型的实例
obj instanceof Object; //true
## 只有 引用数据类型(Array,Function,Object)被精准判断
## 字面值不能被instanceof精准判断
1-3 constructor
如果不改变原型,是可以判断的


