一.初始JavaScript前的基础铺垫
二.初始JavaScript
HTMLL、CSS和JavaScript的关系如下:
“HTML是网页的结构,CSS是网页的外观,而JavaScript是页面的行为。”
我们都知道单纯的HTML页面是静态的(只供浏览),而JavaScript的出现,把静态的页面转换成支持用户交互并响应相应事件的动态页面。
JavaScript和Java的关系:
JavaScript和Java虽然名字相似,但是本质上是不同的。
(1)JavaScript往往都是在网页中使用,而Java却可以在软件、网页、手机App等各个领域中使用;
(2)Java是一门面向对象的语言,而从本质上讲,JavaScript更像是一门函数式编程语言
浏览器执行JS简介:
浏览器分成两部分:渲染引擎和JS引擎
渲染引擎:用来解析HTML与CSS,俗称内核,比如chrome的blink
JS引擎:也成为JS解释器。用来读取网页中的js代码,对其处理后运行。
浏览器本身并不会执行JS代码,而是通过内置JS引擎来执行JS代码.JS引擎执行代码时逐行解释每一句源码(转换为机器语言),然后由计算机去执行,所以JS归为脚本语言,会逐行解释执行。
JavaScript常用的输入输出语句:
alert(msg):浏览器弹出警示框
console.log(msg):浏览器控制台打印输出信息,后台人员看
prompt(info):浏览器弹出输入框,用户可以输入
三.变量
变量案例之弹出对话框:
四.数据类型
课后作业:
依次询问并获取用户的姓名,年龄和性别并打印用户信息出来。
五.运算符
短路运算(逻辑中断):
短路运算的原理:当多个表达式(值)时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值。
逻辑与
语法:表达式1 && 表达式2
如果第一个表达式的值为真,则返回表达式2
如果第一个表达式的值为假,则返回表达式1
逻辑或
语法:表达式1 || 表达式2
如果第一个表达式的值为真,则返回表达式1
如果第一个表达式的值为假,则返回表达式2
逻辑中断很重要,会影响我们程序运行结果。
六.流程控制
顺序结构:
顺序结构是程序中最简单,最基本的流程控制,它没有特定的语法结构,程序会按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。
分支结构:
分支结构是由上到下执行代码的过程中,根据不同的条件,执行不同的路径代码(执行代码多选一的过程),从而得到不同的结果。
JS语言提供了两种分支结构语句
1.if语句
2.switch语句
if语句:
Switch语句:
注意:
1.switch语句中表达式的值和case后面的值必须数据的值和数据的类型全部相匹配,就是表达式值全等case后面的值;
2.要注意使用break的地方。
Switch语句和 if else if 语句的区别:
1.一般情况下,他们两个语句可以相互替换;
2.switch..case语句通常出来case为比较确定值的情况,而if..else..if语句更加灵活,常用于范围判断(大于,小于或者等于某个范围);
3.switch语句进行条件判断后直接执行到程序的条件语句,效率更高。而if..else..if语句有几种条件,就得判断多少次;
4.当分支比较少时,if..else语句的执行效率比switch语句高;
5.当分支比较多时,switch语句的执行效率比较高,而且结构更清晰。
循环结构
循环的目的:重复执行某些代码。
在JS中,主要有三种类型的循环语句:
1. for循环
2.while循环
3.do...while循环
在程序中,一组被重复执行的语句被称之为循环体,能否继续重复执行,取决于循环的终止条件。由循环体以及循环的终止条件组成的语句,被称之为循环语句。
断点调试:
for循环案例:根据输入的人数和成绩求总成绩
七.数组
6.数组新增元素
1.新增数组元素,修改数组长度;
2.新增数组元素,修改索引号,追加数组元素。
注意:
1.如果追加的索引号没有,将会新创建一个索引号;
2.如果追加的索引号存在,就会替换原来的数组元素;
3.如果直接给一个数组赋值,那么此数组里面的内容将全部给替换。
7.数组排序(冒泡排序)
八.函数
九.作用域
十.JS预解析
十一.JS对象
变量,属性,函数,方法总结
1.变量:单独声明赋值,单独存在
2.属性:对象里面的变量称为属性,不需要声明,用来描述该对象的特征
3.函数: 单独存在的,通过“函数名()”的方式就可以调用
4.方法: 对象里面的函数称为方法,方法不需要声明,使用“对象.方法名()”的方式就可以调用,方法用来描述该对象的行为和功能。
十二.内置对象
注意:如果通过indexOf()方法查找的元素没有在目标数组中,则会返回-1。