HTML第六次笔记

6.JavaScript

6.3.6.运算符

运算符用于执行程序代码运算,会针对一个及其以上操作数来进行运算。

6.3.6.1.算数运算符

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeWFuZ2h1YWdhaTIzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

6.3.6.2.赋值和扩展运算符

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeWFuZ2h1YWdhaTIzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

 6.3.6.3.比较运算符

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeWFuZ2h1YWdhaTIzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

 6.3.6.4逻辑运算符

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeWFuZ2h1YWdhaTIzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

6.3.6.5.三目运算符

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeWFuZ2h1YWdhaTIzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

 6.3.7.控制语句

我们写的JavaScript代码都是按照从上到下依次执行,很多时候我们希望代码按照我们的意愿去执行,比如有选择性地执行某些代码,或者重复地执行某些代码,这就需要使用到流程控制语句。

流程控制语句一共有三种:

1.流程执行:从上到下,从左到右

2.选择执行:分支选择

3.循环执行:重复执行

6.3.7.1.选择

6.3.7.1.1.单选择

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeWFuZ2h1YWdhaTIzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

首先执行条件
       如果结果为true,则执行语句体;
       如果结果为false,则结束if语句。
注意:若语句体只有一条语句,可以省略大括号,但不建议省略

6.3.7.1.2.双选择

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeWFuZ2h1YWdhaTIzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

首先执行条件
       如果结果为true,则执行语句体1;
       如果结果为 false,则执行语句体2。


6.3.7.1.3.多选择

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeWFuZ2h1YWdhaTIzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

6.3.7.1.4.switch结构

 多个 if .. else 且值为定值时(即===在比较运行结果时,采用的是严格相等运算符( =),而不是相等运算符(==),这意味着比较时不会发生类型转换。),可以使用switch替换:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeWFuZ2h1YWdhaTIzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

break 防止穿透,如果没有break,则继续执行后面的代码,直到遇到break或全部执行完毕,但是有些时候会利用穿透。

6.3.7.2.循环
循环结构用于重复执行某个操作 简单理解就是重复执行同类型的代码,它有多种形式。
6.3.7.2.1.while

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeWFuZ2h1YWdhaTIzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

 6.3.7.2.2.do...while

先执行后判断,至少执行一次

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeWFuZ2h1YWdhaTIzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

 6.3.7.2.3.for

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeWFuZ2h1YWdhaTIzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

 6.3.7.2.4.死循环

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeWFuZ2h1YWdhaTIzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

6.3.7.2.5.break与continue
    break:停止本层循环
    continue:暂停本次循环,继续下一次

6.3.8.数组
数组是按次序排列的一组数据,每个值的位置都有编号(从0开始),整个数组用方括号表示。
6.3.8.1.数组定义
JS中定义数组的三种方式如下(也可先声明再赋值):

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeWFuZ2h1YWdhaTIzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

6.3.8.2.基本操作
数组的长度可以通过length属性来获取,并可以任意更改
     数组名.length
     数组名.length= 新长度
数组中的每一个元素都可以被访问和修改,甚至是不存在的元素,无所谓越界

    数组名[下标]
    数组名[下标]=新值

3.8.3.数组遍历
数组的遍历即依次访问数组的每一个元素,JS提供三种遍历数组的方式:
3.8.3.1.for 循环遍历

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeWFuZ2h1YWdhaTIzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

3.8.3.2.for... in

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeWFuZ2h1YWdhaTIzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

3.8.3.3.forEach

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeWFuZ2h1YWdhaTIzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

3.8.3.4.了解
数组在使用的时候建议大家规矩来用。在存放数据时,从下标开始顺序的存放数组元素。
如果下标:
1.为非负整数(包括整数字符串):自动从0开始,不存在添加undefined
2.为负数、小数、非数字符串:这些内容不计算在长度内,当成“属性”处理,相当于自定义属性。
数组非常灵活,使用数组元素
1.下标:非负整数(包括整数字符串):
   数组.下标
   数组[下标]
2.下标:负数、小数、非数字字符串:
   数组[属性]
* for --> 不遍历属性
foreach -->不遍历属性和索引中的undefined
* for in -->不遍历索引中的undefined
3.8.4.数组提供的操作方法
Array对象为我们提供了一些方法,可以很方便地操作数组
push 添加元素到最后
unshift 添加元素到最前
pop 删除最后一项
shift 删除第一项
reverse 数组翻转
join 数组转成字符串
index0f 数组元素索引
slice 截取(切片)数组,原数组不发生变化
splice 剪接数组,原数组变化,可以实现前后删除效果
concat 数组合并
6.3.9.函数 
函数,即方法。就是一段预先设置的功能代码块,可以反复调用,根据输入参数的不同,返回不同的值。函数也是对象。
6.3.9.1.函数的定义
有三种函数定义的方式:函数声明语句、函数定义表达式、Function构造函数
6.3.9.1.1.函数声明语句

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeWFuZ2h1YWdhaTIzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

该种方式定义的函数具有声明提升的效果

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeWFuZ2h1YWdhaTIzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

 6.3.9.1.2.函数定义表达式

以表达式方式定义的函数,函数的名称是可以不需要的

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeWFuZ2h1YWdhaTIzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

 这种写法将一个匿名函数赋值给变量。这时,这个匿名函数又称函数表达式,因为赋值语句的等号右侧只能放表达式。
6.3.9.3.3.Function构造函数

Function构造函数接收任意数量的参数,但最后一个参数始终都被看成是函数体,而前面的参数则列举出了新函数的参数。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeWFuZ2h1YWdhaTIzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

 注意:
1. js中的函数没有重载,同名的函数,会被后面的函数覆盖。
2. js中允许有不定数目的参数,后面介绍arguments对象

6.3.9.2.函数的参数
       函数运行的时候,有时需要提供外部数据,不同的外部数据会得到不同的结果,这种外部数据就叫参数,定义时的参数称为形参,调用时的参数称为实参
       实参可以省略,那么对应形参为undefined
     若函数形参同名(一般不会这么干):在使用时以最后一个值为准。
     可以给参数默认值:当参数为特殊值时,可以赋予默认值。
     参数为值传递,传递副本 ;引用传递时传递地址,操作的是同一个对象。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeWFuZ2h1YWdhaTIzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

 6.3.9.3.函数的调用
6.3.9.3.1. 常用调用方式

函数名([实参]);
存在返回值可以变量接收,若接收无返回值函数则为undefined。
6.3.9.3.2. 函数调用模式

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeWFuZ2h1YWdhaTIzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

6.3.9.3.3. 方法调用模式

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeWFuZ2h1YWdhaTIzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

 6.3.9.3.4.return
函数的执行可能会有返回值,需要使用return语句将结果返回。return 语句不是必需的,如果没有的话,该函数就不返回任何值,或者说返回 undefined。
作用:
6.3.9.3.1. 在没有返回值的方法中,用来结束方法。
6.3.9.3.2. 有返回值的方法中,一个是用来结束方法,一个是将值带给调用者。
6.3.9.5.函数的作用域
函数作用域:全局 (global variable) 和 局部 (local variable)
6.3.9.5.1. 全局变量与局部变量同名问题

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeWFuZ2h1YWdhaTIzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

6.3.9.5.2. 在函数中定义变量时,若没有加var关键字,使用之后自动变为全局变量

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeWFuZ2h1YWdhaTIzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

猜你喜欢

转载自blog.csdn.net/yanghuagai2311/article/details/122869100
今日推荐