Kwong 2019-05-16
JS
一、流程控制语句
程序三种基本结构--顺序结构、选择结构、循环结构
1、选择结构:
if语句
if (判断条件) {
执行语句
}else if (判断条件) {
执行语句
}else{
执行语句
}
switch语句
case里必须是具体的值,但是如果表达式可以返回一个具体的值true或者false也可以是表达式,这时switch里面是true
switch(表达式) {
case 取值:
执行语句
break;
case 取值:
执行语句
break;
default:
执行语句
}
2、循环结构:
for语句:1初始化表达式、2控制表达式、3循环后表达式
for(var i = 0; i < n ; i ++){
执行语句
}
while语句
var i= 0;
which (判断条件){
执行语句
}
do while 语句 先执行后判断至少执行一次
var i = 0;
do {
执行语句
}while(判断条件)
二、数组
1、数组的声明
①通过构造函数
var arr = new Array ();
②通过字面量
var arr = [];
2、数组的赋值和取值
赋值:arr [索引号] = 1;
批量赋值 for循环
取值:arr [索引号];
3、数组的遍历 ---- 批量取值
for (var i = 0; i < arr.length; i ++){}
4、防止稀疏数组 arr (arr.length) = i;
三、函数
1、函数的定义和调用
函数的定义
①函数的声明:function 函数名 () {
函数体(要执行的代码)
}
②函数表达式:var 函数名 = function () {
函数体
};
函数的调用:函数名 ();(要调用先引用)
2、函数的参数
有参数的函数的声明:function 函数名 (参1,参2) { //函数声明时的参数只是一个占位符,是形式参数
函数体
}
有参数的函数的调用:函数名 (参1,参2) //函数调用时传入的参数是具体的数值,是实际参数
形参和实参没有关系,只不过在调用的时候把实参的值复制了一份赋值给了形参
3、函数返回值
①return 要返回的值;(函数的返回值是什么,尹调用这个函数就相当于调用了什么)
②函数在执行完成return语句后便会退出函数,后面的代码不会执行
③如果只打印函数名,会通过函数名找到函数体,如果想打印的是函数的返回值,那么一定要加小括号()
4、匿名函数
匿名函数:函数定义完后就赋值给了一个变量,通过变量名来调用这个函数,所以就没有必要起名字
5、递归函数
函数自己调用自己的编程技巧
6、回调函数
被当做函数传递的函数
四、对象
通过对象可以方便的对变量和函数进行管理和使用
1、键值对:一种对应关系,通过键能够方便地找到值 key:value; 对象也是键值对
属性名:属性值、索引:元素的值
2、对象的声明
①通过构造函数
var obj = new.Object();
②通过字面量
var obj = {};
3、属性:用来描述对象的特征 一般是名词 对应变量
定义:对象.属性名 = 要赋的值;
调用:对象.属性名;
4、方法:用来描述对象的行为 一般是动词 是一种函数(属于某个对象的函数就叫方法)
定义:对象.方法名 = function(){ //函数体 };
调用:对象.方法名;
5、访问属性的两种方式
①点语法(属性名是什么就必须写什么):obj.属性名;
②中括号(通过字符串找属性名,字符串可以通过编程拼接):obj["属性名"];
6、遍历的两种方式
①for循环
②for-in
for(var k in json) { 语句 }
k变量代表的是json中的各个属性(key)和 var i = 0中的i是一个意思 名字不同而已
json JavaScript Object Notation(JavaScript对象标记法)是仿照JS中对象字面量的格式去书写的一串 用来记录对象数据的字符串,可匡以用于数据传输。
7、Null
null常被用于期望一个对象,但是当前先不附加任何值的情况
undefined派生自null
undefined == null //true
undefined === null //false