JavaScript 简介
JavaScript 是一种具有函数优先原则的轻量级、解释型、即时编译型的编程语言。
函数优先原则:函数可以和其他任何变量一样对待,而且函数的优先级会被提升。.
轻量级:语法和 Java 类似,语法简单易学。
解释型:代码在运行时直接由解释器逐行解释和执行,而不需要事先将代码编译成机器码。
即时编译:在运行时将JavaScript代码编译成机器码。
JavaScript 组成
一个完整的 JavaScript 由三部分组成:
ECMAScript:主要描述了 JavaScript 的语法、变量、数据类型、关键字等。
DOM:文档对象模型。
BOM:浏览器对象模型
在HTML 中引入JavaScript
在 HTML 文件中引入 JavaScript 脚本的方法有:
行内 JavaScript:直接将 JavaScript 代码写在 HTML 标签中。
内部 JavaScript:使用<script></script>标签编写JavaScript 代码。
外部 JavaScript:JavaScript 代码保存在.js 文件中,在HTML 中使用<script>标签引入JavaScript 文件。
JavaScript 核心语法
变量的声明和赋值
变量的基本用法
var 变量名
var 变量名 = 变量值;
需要注意:在 JavaScript 中声明变量时,
变量名区分英文字母大小写。
变量可以不经过声明而被直接使用,其默认值为 undefined。
JavaScript 是弱类型的脚本语言,声明变量时无需指定变量的数据类型。
数据类型
在,JavaScript 中,提供了三种基本数据类型和两种特殊数据类型,
数据类型 描述
数值类型 包括整型和浮点型
基本数据类型 字符串类型 JavaScript 的字符串必须用单引号或双引号包起来。
布尔类型 true / false.
空类型 null 表示变量的值为空
特殊数据类型
未定义类型 undefined 表示某个变量不存在,或没有为其分配值
typeof 运算符
typeof 运算符用于判断某个值或变量的数据类型。typeof 运算符的基本用法:
typeof(值或变量名);
typeof 运算符常见的返回值:
返回值 描述
undefined 变量被声明后,但未被赋值。
string 用单引号或双引号来声明的字符串
boolean true 或false.
number 整数或浮点数
ob ject JavaScript 中的对象、数组和 nu11.
String 对象
String 对象用于支持对字符串的处理。
String 对象的基本用法:
var 字符串名称 ="值";
字符串名称.属性
字符串名称.方法;
String 对象常见的属性:
属性 描述
length 字符串的长度。
String 对象方法
方法 描述
charAt(index) 返回在指定位置的字符。 index:指定位置,从0开始
toUpperCase() 将字符串转换成大写。
toLowerCase() 将字符串转换成小写。
index0f(str,index) 查询字符串首次出现的位置。str:要查找的字符串。index:开始查找的位置
lastIndexOf(str,index) 查询字符串最后一次出现的位置。
substring(indexl,index2) 截取字符串,包前不包后。
split(str) 将字符串分割成数组str:分割的符号。
replace(strl, str2) 字符串替换。str1:要查找的字符串。str2:替代查找到的字符串。当str1是
字符串时,字符串只替换一次。当str1是正则表达式时,替换的次数取决 于正则表达式规则。
replaceAll(strl,str2) 字符串替换(全部替换)。
Array 对象
Array 对象用于在单独的变量名中存储一系列的值。
基本用法
var 数组名称 = new Array(数组大小);
数组名称「数据下标]=值;
var 数组名称 = new Array("值1","值2",...);
var 数组名称 =[];
数组名称[数据下标]=值;
var 数组名称 =["值1","值2",·..];
数组名称.属性
数组名称.方法
Array 对象常见的属性:
属性 描述
length 数组的长度
Array 对象方法
方法 描述
join(str) 使用分隔符将数组转换为字符串。str:分隔符符号,默认为逗号
sort(compareFunction) 对数组的项目进行排序。compareFunction:定义排序顺序函数。默 认将按字母和升序将值作为字符串进行排序。
forEach(function (item,index)遍历数组。数组中的每一个元素的别名。item:index:数组元素下标。
push (ob j) 向数组末尾添加新项目,并返回新长度。新的项目将被添加到数组的
末尾,且会改变数组的长度。
unshift (obj) 向数组开头添加新项目,并返回新长度。新的项目将被添加到数组的
开头,且会改变数组的长度。
splice(index,howmany,
iteml,....·itemx) 向数组添加/删除项目,并返回删除的项目。
index:指定在什么位置添加/删除项目,index为负值指定从数组末尾开
始的位置。howmany:要删除的项目数。
iteml,...,itemX:要添加到数组中的新项目
逻辑控制语句
在 JavaScript 中,逻辑控制语句用于控制程序的执行顺序。常见的逻辑控制语句有:
条件语句:if、if-else、if-else-if、switch-case-default.
循环语句:for、for-in、while、do-while。
注释
JavaScript 注释用于解释 JavaScript 代码,增强其可读性。JavaScript 注释的基本用法:
// 单行注释
多行注释
/*
*/
系统对话框
浏览器可以通过调用系统对话框的相关方法,向用户显示消息。常见的系统对话框:
系统对话框 描述
alert() 向用户显示一个警告对话框
confirm() 向用户显示一个消息对话框,其包含确定和取消按钮。
prompt() 向用户显示一个提示对话框,等待用户输入一些数据,
JavaScript 调试
浏览器开发者工具调试
程序调试是 JavaScript 中的一个重要环节,在 JavaScript 中,可以使用浏览器开发者工具对代码进行调试。
alert()调试
在 JavaScript 中,还可以使用 alert()方法将不确定的数据以信息框的方式展示,以此来判断出现错误的位置。
console.log()调试
在 JavaScript 中,还可以使用 console.log()方法将日志输出到开发者工具的控制台中,以此来判断错误出现的位置。
JavaScript 函数
函数简介
在 JavaScript 中,函数类似于 Java 中的方法,是执行特定功能的 JavaScript 代码。
JavaSript 函数分为系统函数和自定义函数。
系统函数
系统函数 描述
parseInt() 按照下标逐个解析字符串,并返回一个整数。
parseFloat() 按照下标逐个解析字符串,并返回一个浮点数。
isNaN() 检查其参数是否非数字。
自定义函数
自定义函数的基本用法
// 函数声明
function 函数名(「参数1,参数2,,..){// 执行代码[return 返回值;
// 函数表达式
变量 = function([参数1,参数2,...]){var//执行代码
[return 返回值;]
11 }
变量作用域
在 JavaScript 中,根据变量作用范围的不同,可以分为局部变量和全局变量。
局部变量和全局变量的区别
作用域不同:局部变量仅作用在函数内,全局变量作用于整个脚本。
声明位置不同:局部变量声明在函数内,全局变量声明在使用之前的任意位置
生存期不同:局部变量在函数执行结束后被删除,全局变量在页面关闭后被删除。
事件
事件是使用 JavaScript 实现网页特效的灵魂内容,当与浏览器进行交互时,浏览器就会触发各种事件来完成网页中的各种特效。
常见的事件:
事件 描述
onload 一个页面或一幅图像完成加载时触发。
onclick 鼠标单击某个对象时触发。
onmouseover
鼠标指针移动到某元素上时触发。
onmouseenter
onmouseout
鼠标指针离开某元素时触发
onmouseleaye
onkeydown 某个键盘按键被按下时触发。
onchange 域的内容被改变时触发。