数据类型
数据类型分类
原始类型:
1.number
2.string
3.boolean
4.null
5.undefined
对象类型:
1.object
2.function
3.array...
分支结构
//单向分支
if(条件表达式){
···
}
//双向分支
if(){
}else{
}
//多项分支
if(){
}else if(){
}else if(){
}else{
}
//switch case
switch(){
case 值1: 语句 break;
case 值2: 语句 break;
case 值3: 语句 break;
case 值4: 语句 break;
...
default: 语句
}
进入case后遇到break才会停止,否则一直执行后面的case直到break或者到default
数组 数组声明方式 1 直接量方式var arr=[];
2 Array函数方式
Array(1,1,2);
Array(\'hellow\');
Array(20)表示长度为20的数组
数组元素的添加和删除 ①数组添加元素 1. arr[arr.length]=值;
2. arr.push(元素1,[元素2]···);
3. arr.unshift(元素1,[元素2]···)
4. arr.splice(索引,删除个数,元素1,[元素2]...)
添加元素的时候splice的删除个数取0;
②数组删除元素 1. arr.length -= 1;
2. arr.pop();
3. arr.shift();
4. arr.splice(索引,删除个数) 函数 参数arguments
arguments是接收所有的实参的一个伪数组
作用域在函数内部声明的变量是局部变量
在函数外声明的变量是全局变量
在函数内声明不用var 的是全局变量 但是不建议使用
对象 Object对象类型 遍历对象 for (var k in obj){
} 判断对象中是否存在某个属性 \'属性\' in obj //返回一个布尔值
注:使用in运算符并不能区分属性是对象本身的还是原型上的
构造函数 判断对象的构造函数 ①运算符 instanceof 对象 instanceof 构造函数; //返回布尔值 ②constructor属性 所有对象都有constructor属性,返回该对象的构造函数 对原始类型调用constructor属性的时候,原始数据类型会切换到对象状态construstor属性在原型上面并不在对象本身
自定义构造函数 function Dog(dogName,dogSex, dogAge){ //设置属性 this.name=dogName; this.sex=dogSex; this.age=dogAge; //设置方法 this.bark=function(){ console.log(\'我是\'+this.name); } } //实例化 var dog1 = new Dog(\'旺财\',\'female\',5); //获取属性 dog1.name; //调用方法 dog1.bark(); this this的含义
this可以认为是内置的变量,该变量的值是对象,但是不固定
this在函数或者构造函数中使用
this指向问题 ①在构造函数中使用thisthis指向构造函数生成的对象
②在方法或者函数中使用this指向调用者