美文网首页JavaScript学习实录
02-javascript基础学习笔记

02-javascript基础学习笔记

作者: 一个要搞前端的ZL | 来源:发表于2017-03-06 18:59 被阅读0次

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];
}

相关文章

网友评论

    本文标题:02-javascript基础学习笔记

    本文链接:https://www.haomeiwen.com/subject/pcmugttx.html