1.循环语句###
1.1 while循环
While 循环会在指定条件为真时循环执行代码块。
while (条件)
{
需要执行的代码
}
1.2 do/while循环
do/while 循环是 while 循环的变体。该循环会执行一次代码块,在检查条件是否为真之前,然后如果条件为真的话,就会重复这个循环。
语法:
do
{
需要执行的代码
}
while (条件);
1.3 for循环
- 语句1:最先执行,而且永远只执行一次
- 语句2:执行完语句1,就执行语句2,当语句2条件为true时,执行循环体中的代码,执行完循环体中的代码后执行语句3,当语句3执行完后那么会再次执行语句2,直到语句2的条件判断为false时,循环退出
语法:
for(语句1;语句2;语句3){
//需要执行的代码
}
2.break与continue###
2.1 只出现在循环体中,都是用于结束循环,单独写会报错
2.2 break:直接结束整个循环
2.3 continue:用于跳过循环中的一个迭代,例如输出不能被3整除的数
for(var i = 1;i<=100;i++){
if(i%3==0)
continue;
console.log(i);
}
3.实际开发中不管什么项目,都是分块开发,每个板块再整理出各种需求,多加注释###
4.函数###
4.1定义:具有特定功能的代码块
4.2 两种定义方式:
方法一:
function 函数名(){
函数体
}
方法二:
var demo = function(){
函数体
}
4.3 注意点:函数定义完以后函数名会被放到内存中,解析器不会看代码块的内容,函数想要被执行,必须手动调用,解析器才会返回去看代码块中内容,调用方法:函数名称();其中()表示立即执行
4.4 函数的几种方式
- 4.4.1 无参无返回值
- 4.4.2 有参无返回值
参数写在()中,参数也是标识符,他就是一个变量,参数在函数调用时赋值
例如:
function printRose(num){
//代码块
}
- 4.4.3 无参有返回值
返回值:当函数执行完毕的时候,如果想得到一个结果,那么用return返回,用return返回的值就是函数的返回值。
如:
function test(){
return 123;
}
var result=test();
console.log(result);
- 4.4.4 有参有返回值
有参数,也有返回值的函数
如:
function average(num1,num2,num3,count){
return (num1+num2+num3)/count;
}
console.log(average(13,14,15,3));
4.5 在开发中直接出现数字称为魔鬼数字,如某个算数中出现固定除以3而非变量,开发中无返回值函数比有返回值函数用的多。因为函数注重的是过程而不是结果,有返回值的函数大多是工具类中使用
4.5 递归函数:自己搞自己
一次又一次的调用自己并开辟新的空间,结束时也是从内向外一层一层释放空间,函数内有return将会结束该函数,作为了解,实际开发中不常用。
5.变量的作用域###
5.1 局部变量(内部变量)
- 定义:声明在函数内部的变量或者函数的参数
- 作用域:只有在函数内部能使用
- 生命周期:从定义的那一行开始,当函数执行完毕的时候死去
5.2 全局变量
- 定义:声明在函数外部的变量
- 作用域:可以在整个JS文件中使用
- 生命周期:只有当当前的网页关闭才能释放
5.3 注意:开发中,全局变量和局部变量相比,局部变量用的更多。因为全局变量相对局部变量来说,更加耗内存。所以实际开发中应尽量避免全局变量的使用
5.4 在函数内部如果把值赋给未声明的变量,则该变量将会被作为全局变量来使用。开发中不建议使用,仅作为了解(没有var声明的变量会提升为全局变量)
5.5 变量的提升
- 在函数内部如果提前使用了和外部相同名称的变量,那么就会发生变量提升。相当于把变量的声明提升到函数的顶端,但并不赋值,实际开发不建议使用,仅作为了解,只是用来对付面试。
6.JavaScript初体验###
js动态控制网页样式与结构
6.1 什么是dom
- 比喻成一颗长满标签的树
6.2 什么是对象
- 具有很多功能的功能组
- 在文档中引申为document
- 如果一个对象想要调用其方法,通过"."进行
document.getElementById("ID名称");
在js中,所有CSS样式中划线"-"都改为驼峰命名法
6.3 js控制结构:改变对象中的内容结构
如:
var dom = document.getElementById("box");
console.log(dom);
dom.innerHTML="<a href=#>这里是一个超链接</a>"
7.事件三要素###
7.1 事件源(发起者)
7.2 事件(动词)
- onclick:点击事件
- ondbclick:鼠标双击
- onchange:文本内容或下拉菜单中的选项发生变化
- onfocus:获得焦点
- onblur:失去焦点
- onmouseover:鼠标悬停
- onmouseout:鼠标离开
- onload:网页文档加载
- onunload:关闭网页
7.3 事件处理程序(函数)
事件源.事件=事件处理程序
8.封装代码###
抽取原则:代码高度相似、功能相同的代码抽取出来,变量作为参数
- 第一步:自定义一个函数
- 第二步:把不同的变量作为参数
- 第三步:将代码进行整合
9.入口函数###
当整个文档加载完毕才执行,在head中写script代码时使用
window.onload=function(){
//script代码
}
10.数组###
10.1 数组是一个对象,用来存储其他变量的集合
10.2 数组的声明
var arr = new Array(); //几乎没人用
var arr = [];
10.3 给数组添加元素
定义的同时添加元素
var arr = [1,"123","hello"];
利用数组对象的push方法添加元素,永远添加在末尾
arr.push(元素);
先定义再逐个添加
var arr=[];
arr[0]=1;
arr[1]="true";
arr[2]=false;
arr[3]=undefined;
10.4 数组的常用方法,请参考W3C
arr.length; //返回求数组长度
增
var arr=[12,undefined,null,"str"];
arr.push(添加的值1,添加的值2,...);
arr[5]=188;
删
var result = arr.pop(); //删最后一个并返回
console.log(result); //"str"
改
arr[1]=1;
查
arr[3];
10.5 数组的取值
根据脚标来取值
var result = arr[1];
result //"true";
10.6 数组的遍历:就是取出数组中的每一个元素
var arr=[12,"123",undefined,false,88];
arr[0];
arr[1];
arr[2];
arr[3];
arr[4];
==>>代码抽取
for(var i=0; i<arr.length;i++){
arr[i];
}