8.26 一周学习总结

switch-case结构

1、结构写法:

var num=5;//一个操作数是一个最简单的表达式

switch (num+3){

case 1:

document.write("第一个case");

break;

case 2:

document.write("第二个case");

break;

case 3:

document.write("第三个case");

break;

default:

document.write("case都不成立,执行default");

break;

}

2、注意事项:

①switch结构()中的表达式,可以使用各种js支持的数据类型

②switch结构在进行判断的时候,使用全等判断(var num=1,case "1",就不可以,因为数据类型不一样)

③switch结构中case()中的表达式可以是各种数据类型,但是值必须各不相同,即使相同,也只会执行第一个式子

④break作用:执行完case代码后,跳出当前switch结构

缺少 break 后果:从第一个正确的 case 项之后开始,执行后面所有的 case 和 default,原因:⑤ ↓

⑤switch结构默认所有 case 项各不相同,所以在进行判断的时候,只会判断一次正确答案,当遇到正确的 case 之后,

就不会判断后续的项目

⑥switch结构的执行效率比多重 if 快。在多路分支结构中,推荐优先使用 switch。

一、while 循环

1、循环结构的执行步骤:

①声明循环变量

②判断循环条件

③执行循环体操作

④更新循环变量

然后循环执行②~④,直至条件不成立时,跳出循环

while循环()中的表达式,运算结果可以是各种类型,但最终都会转换为真假,转换 规则同 if 结构

二、do while 循环

while循环特点: 先判断,再执行

do while循环特点:先执行,再判断;即使初始条件不成立,也至少执行一次

三、for 循环

1、for 循环有三个表达式:① 声明循环变量 ②判断循环条件 ③更新循环变量

三个表达式之间,用 ; 分隔

for 循环三个表达式都可以省略,但是两个 ; 缺一不可

2、for 循环 执行特点:先判断,再执行,与while相同

3、for 循环 三个表达式都可以由多个表达式组成;第二部分多个判断条件用 && || 连接 ,第一三部分用逗号分隔

四、循环控制语句

1、 break:跳出本层循环,继续执行循环后面的语句,如果循环有多层嵌套,则 break 只能跳出一层

2、continue:跳过本次循环中剩余代码,继续下一次循环

①对于 for 循环,continue 之后执行的语句,是循环变量更新语句

②对于 while、do while 循环,continue 之后执行的语句,是循环条件判断

因此,使用这两个循环时,必须将 continue 放到 i++(变量更新语句) 之后使用,否则将导致死循环

3、return:JS 中,return 只能出现在函数中,作用:结束掉整个函数

函数的声明及调用

1、函数的声明格式:

function 函数名(参数1,参数2,...){

//函数体代码

return 返回值;

}

函数的调用

①直接调用: 函数名(参数1的值,参数2的值...);

②事件调用方式: HTML标签中,使用 事件名="函数名()"

<button onmouseout="saySth(‘789‘,‘yellow‘)">点击按钮,打印内容</button>

2、 函数的注意事项:

①函数名必须要符合小驼峰法则!!(首字母小写,之后每个单词字母大写)

②函数名后面的()中,可以有参数,也可以没有参数,分别称为有参函数和无参函数

③声明函数时的参数列表,称为形参列表,形式参数(变量的名字)

function saySth(sth,color){}

调用函数时的参数列表,称为实参列表,实际参数(变量的赋值)

saySth("123","blue");

④函数的形参列表个数,与实参列表个数,没有实际关联关系

函数列表的个数,取决于实参列表

如果实参列表的个数小于形参列表,则未赋值的形参,将为undefined

⑤函数可以有返回值,使用 return 返回结果

调用函数时,可以使用一个变量接受函数的返回结果,如果函数没有返回值,则接收的结果为 undefined

⑥函数中声明变量的作用域:

在函数中,使用 var 声明的变量,为局部变量,只能在函数内部访问

不用 var 声明的变量,为局部变量, 在函数外部也可访问

函数的形参列表,默认为函数的局部变量,只能在函数内部使用

⑦函数的声明语句与调用语句没有先后之分,即可以在声明函数前调用函数

func();//声明 func() 之前调用也是可以的

function func();

//单行注释

多行注释 Ctrl+Shift+/

/**

* 文档注释: 开头两个*,写在函数上访,在调用函数时,可以看到文档中的描述信息

*/

/**

str: 您想要打印的内容

color:您想要打印的内容的颜色

*/

function saySth(str,color){

document.write("<div style=‘color: "+color+";‘>"+str+"</div>");

}

saySth("123","blue");

saySth("456","red");

JS 中只有函数作用域,没有块级作用域(大括号包起来的作用域叫函数作用域),函数声明的局部变量只在函数中可以用,for 循环中声明的变量可以在循环外部使用,因为 for 循环不是函数

一、匿名函数的声明使用

1、声明一个匿名函数,直接赋值给某一个事件

window.onload=function(){};

2、使用匿名函数表达式,将匿名函数,赋值给一个变量

声明: var func=function(){}

调用: func();

注意: 使用匿名函数表达式时,函数的调用语句,必须在声明语句之后!!!(与普通函数的区别!!!)

3、自执行函数,也是一个匿名函数

①!function(){}();//可以使用多种运算符开头,但一般使用 !

!function(形参列表){}(实参列表);

②(function(){}());//使用 () 将函数及函数后的 () 包裹

③(function(){})();//使用 () 包裹函数部分

三种写法特点:

①使用 ! 开头,结构清晰,不容易混乱,推荐使用

②能够表明匿名函数与调用的 () 为一个整体,官方推荐使用

③ 无法表明函数与之后 () 的整体性,不推荐使用, 在它之前的匿名函数后要加 ;

二、JS 代码的执行顺序问题

JS 代码在运行时,会分为两大部分,检查装载和执行阶段

①检查装载阶段: 会先检查代码的语法错误,进行变量、函数的声明

②执行阶段 : 变量的赋值、函数的调用等,都属于执行阶段

以下列代码为例:

console.log(num);//undefined

var num=10;

func1();//函数可以正常执行

function func1(){}

func2();//函数不能执行,打印func2时显示undefined

var func2=function(){}

原因: 上述代码的执行顺序为:

检查装载阶段:

var num;

function func1(){}

var func2;

代码执行阶段:

console.log(num);

func1();

func2();

function(){}

三、函数的内部属性

1、arguments 数组对象

①作用: 用于储存调用函数时的所有实参,实际上参数列表已经保存到 arguments 数组中,可以在函数中,使用 arguments[n] 的形式调用 , n 从0开始

②arguments数组中的元素个数,取决于实参列表,与形参无关

但是,一旦第 n 个位置的形参、实参、arguments都存在时,形参将 与 arguments 绑定,同步 变化 (即使在函数中修改形参的值,arguments 也会改变; 反之,亦成立 )

③arguments.callee() 是 arguments 的重要属性,表示 arguments 所在函数的引用地址

在函数里面,可以使用 arguments.callee()调用函数本身

在函数内部,调用函数自身的写法,叫做递归

递归分为两部分: 递和归,以递归调用语句为界限,可以将函数分为上下两部分

递: 当函数执行上半部分,遇到自身的调用语句时,继续进入内层函数,再执行上半部分;直至执行完最内层函数

归: 当最内层函数执行完后,再从最内层函数开始,逐渐执行函数的下半部分

当最外层函数执行时,遇到自身的调用语句,会进入内层函数执行,而外层函数的后半部分暂不执行,直至最内层函数执行完后, 再逐步向外执行

DOM树节点:

3大类:元素节点、属性节点、文本节点

文本节点、属性节点属于元素节点的子节点。操作时,均需先取到元素节点,

查看元素节点:

1、getElementById:通过 id 取到唯一节点;如果 id 重名,只能取到第一个

getElementByName()

getElementByTagName()

getElementByClassName()

>>> 获取元素节点时,一定要注意:获取节点的语句,必须在 DOM 渲染完成之后执行。2种方式实现:

①将 JS 代码写在 body 之后

②将代码写到window.onload 函数之中

>>>后面三个,取到的是数组格式,不能直接添加各种属性,而应该取出数组的每一个单独操作

例如: getElementByName()

查看/设置属性节点:

1、查看属性节点:getAttribute("属性名");

2、设置属性节点:setAttribute("属性名","新属性值");

>>>查看和设置属性节点,必须先取到元素节点,才能使用

时间: 2024-07-30 08:20:59

8.26 一周学习总结的相关文章

java第九周学习总结

学号20145336 <Java程序设计>第9周学习总结 教材学习内容总结 JDBC JDBC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商则对接口进行操作,开发人员无须接触底层数据库驱动程序的差异性. JDBC是Java联机数据库的标准规范.具体而言,它定义了一组标准类与接口,应用程序需要联机数据库时调用这组标准API,而标准API中的接口由数据库厂商操作,通常称为JDBC驱动程序. JDBC(Java DataBase Connectivity)是Java联机数据库

信息安全设计基础第五周学习总结

信息安全系统设计基础第五周学习总结 [学习时间:10小时] [学习内容:第三章:程序的机器表示] 一.教材内容 1.X86 寻址方式的变化: 1 DOS时代的平坦模式,不区分用户空间和内核空间,很不安全: 2 8086的分段模式: 3 IA32的带保护模式的平坦模式 2.机器编程的两种抽象: 1)指令集体系结构(Instruction set architecture,ISA)——定义指令格式以及每条指令执行之后对状态的影响.大多数ISA将程序行为描述成按顺序执行的: 2)虚拟地址 3.一些处理

《信息安全系统设计基础》第7周学习总结

20145336张子扬 <信息安全系统设计基础>第9周学习总结 学习目标 掌握系统编程和系统调用的概念 掌握系统编程错误处理的方式 掌握Unix/Linux系统级I/O:open close read write seek stat 掌握RIO 掌握I/O重定向的方法 教材学习内容总结 系统级I/O:输入/输出是在主存和外部设备之间拷贝数据的过程,输入操作是从I/O设备拷贝数据到主存,输出操作是从主存拷贝数据到I/O设备. Unix I/O Unix I/O是一个简单低级的应用接口,可以把所有

LINUX内核分析第六周学习总结——进程的描述和进程的创建

LINUX内核分析第六周学习总结——进程的描述和进程的创建 张忻(原创作品转载请注明出处) <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.知识概要 进程的描述 进程描述符task_struct数据结构(一) 进程描述符task_struct数据结构(二) 进程的创建 进程的创建概览及fork一个进程的用户态代码 理解进程创建过程复杂代码的方法 浏览进程创建过程相关的关键代码 创建的新进程是从哪里开始执行的

信息安全设计基础第十周学习总结

信息安全设计基础第十周学习总结 [学习时间:8小时]  [学习内容:教材第十章 之 I/O总结:实验楼私有课程<深入理解计算机系统> 之 系统级I/O] 一.教材内容 1.I/O重定向 [重定向其实是unix系统优越性的一种体现(与管道相似):将一种操作的结果重定向到另外一种操作上,这样的思想保证了“专务专用”,将单个操作做到极致,又为用户自己提供了完善功能的平台(比如重定向,比如管道).] - unix外壳提供了I/O重定向操作符,允许用户将磁盘文件和标准输入输出连接起来.例如: ls &g

20145235 《信息安全系统设计基础》第05周学习总结——2

之前内容在这→20145235 <信息安全系统设计基础>第05周学习总结 3.5 算术和逻辑操作 加载有效地址 一元操作 二元操作 移位操作 3.5.1 加载有效地址 加油有效地址"leal"-将有效地址写到目的操作数,目的操作数必须是一个寄存器. 3.5.2 一元操作和二元操作 一元操作,它只有一个操作数,既是原操作数又是目的操作数,操作数可以是一个寄存器,也可以是一个存储器位置. 二元操作,有两个操作数,第一个为原操作数,可以是立即数.寄存器或存储器位置:第二个为目的操

20145336张子扬 《信息安全系统设计基础》第5周学习总结

20145336张子扬 <信息安全系统设计基础>第5周学习总结(一) 教材学习内容总结 学习目标 理解逆向的概念 掌握X86汇编基础,能够阅读(反)汇编代码 了解ISA(指令集体系结构) 理解函数调用栈帧的概念,并能用GDB进行调试 学习内容 ISA:定义了处理器状态,指令的格式,每条指令对状态的影响. gcc -O1 -S text.c 使用gcc产生一个汇编文件code.s,可以使用vim查看 gcc -O1 -c text.c 使用gcc产生目标代码文件.从中可知及其实际执行的程序只是对

《信息安全系统设计基础》第14周学习总结

20145336张子扬 <信息安全系统设计基础>第14周学习总结 学习目标 理解虚拟存储器的概念和作用 理解地址翻译的概念 理解存储器映射 掌握动态存储器分配的方法 理解垃圾收集的概念 了解C语言中与存储器有关的错误 教材学习内容总结 第九章 虚拟存储器 虚拟存储器3个重要的能力 将主存看作是一个存储在磁盘上的地址空间的高速缓存,在主存中只保护活动的区域,并根据需要在磁盘和主存之间来回传送数据 为每个进程提供了一致的地址空间,从而简化了存储器管理 保护了每个进程的地址空间不被其它进程破坏 物理

《信息安全系统设计基础》第11周学习总结

20145336张子扬 <信息安全系统设计基础>第11周学习总结 学习目标 了解异常及其种类 理解进程和并发的概念 掌握进程创建和控制的系统调用及函数使用:fork,exec,wait,waitpid,exit,getpid,getppid,sleep,pause,setenv,unsetenv 理解数组指针.指针数组.函数指针.指针函数的区别 理解信号机制:kill,alarm,signal,sigaction 掌握管道和I/O重定向:pipe, dup, dup2 教材学习内容总结 异常控