[TOC]
## 3.1 基本数据类型
* number
* string
* boolean
* null
* undefined
### typeof操作符可以判断数据类型
~~~
typeof 能识别基本类型,特殊null-->object
引用类型中function能识别
~~~
~~~
var a = 10;
var str = "hello";
var c =ture;
var obj = { age:18}
console.log(typeof a);
console.log(typeof str);
console.log(typeof c);
console.log(typeof obj) -->object
~~~
### instanceof
> java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。
```
var arr = [1,2,3,4];
console.log(Array.isArray(arr));
console.log(arr instanceof Array);
```
## 3.2 引用类型
* array
* function
* json 对象
### 3.2.1 array
#### 3.2.1.1 定义数组
~~~
var arr = [1,2,3];
~~~
#### 3.2.1.2 数组属性
~~~
var arr=[1,2,3,4];
var len = arr.length; //length属性,获取数组的长度
console.log(len); //Tip:数组的下标从0开始
var value = arr[1]; //arr[index]-->读取数组的值,
arr[arr.length]=6; //arr[arr.length] -->向数组尾部添加值
console.log(arr);
~~~
#### 3.2.1.3 自定义数组属性
```
<script>
Array.prototype.say=function(){
console.log("我是数组");
}
var arr = new Array(1,2,3);
arr.say();
</script>
```
### 3.2.2 function
> Tip:函数只有在调用后才执行
~~~
//语法
function funcName(){
//coding程序块
}
~~~
~~~
function func(){
console.log("hello world");
}
//函数只有调用才会执行
func();
~~~
> 箭头函数
~~~
var test = () = >{
console.log("test");
}
test();
~~~
### 3.2.3 json对象
* 1.声明一个json对象
~~~
var meili = {
name : 'meili',
age : 18
}
//name 可以不写双引号,js自动补全
~~~
* 2. 读取对象属性的值
~~~
//读取对象的值
console.log(meili.name);
console.log(meili["age"])
~~~
> Tip:在es6中倘若,json对象的属性名和值相同,可以简写
~~~
var name="chengchao";
var age=30;
/* es5 */
var chengchao={
name:name,
age:age
}
/* e6中倘若对象的属性名和值相同可以简写 */
var zhang = {
name,
age
}
console.log(zhang.age);
~~~
- 效果实例
- 1.点击增加高度
- 2.tab页面切换
- 3. 列表切换
- 4. 隔行变色
- 5. swiper 轮播
- 6.vue
- 7.定时器
- 8. 向表格中添加数据
- 9 瀑布流
- 1.JavaScript基础
- 1. 变量
- 2. 调试
- 3.数据类型
- 4.转换
- 5.控制语句
- 6.运算
- 7. this
- 8 JSON对象和javascript对象的相互转换
- 2.JavaScript的控制语句
- 1. 基本控制语句
- 2.节点
- 2.1DOM补充
- 3. 函数
- js的模块化如何解决
- 不知道有什么用的
- 4.数组
- 5. String
- 补充
- 6.Ajax
- 1. 原生Ajax
- 2. HTTP/get/post
- 3.jQuery-Ajax
- 4.跨域
- 5.axios
- 6.封装
- Ajax效果
- ajax补充
- 7. 正则
- 1.创建正则表达式
- 2. 正则的api
- 3.正则语法
- 4.例子
- 量词
- 8.面向对象
- 1.原型
- ES6
- 模块化
- 1.回调地狱
- 什么是回调地狱
- 简单封装
- promise解决回调地狱
- generator解决回调地狱
- async解决回调地狱
- 2.封装
- Ajax,promise
- JavaScript难点
- 1. 闭包/作用域
- 2.原型链
- 3. 兼容性
- 适配
- JavaScript小效果
- 字符串截取