> 文章列表 > 一、JS01 JavaScript 基础

一、JS01 JavaScript 基础

一、JS01 JavaScript 基础

一、JavaScript 基础

1.1 JavaScript 概述

1.1.1 JavaScript 基本介绍

  • JavaScript (简称 JS) 是一种具有函数优先级的轻量级、解释型、即时编译型的编程语言
  • JavaScript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格
  • JavaScript的标准是 ECMAScript
  • ECMAScript 是一套脚本规范,用于定制行为准则,JavaScript 则是这套行为准则的具体实现

1.1.2 JavaScript 的用途

  • 嵌入动态文本于 html 页面

  • 读写 html 元素

  • 与 css 进行交互

  • 对浏览器事件做出响应

  • 在数据被提交到服务器之前验证数据

  • 检测访客的浏览器信息

  • 创建、修改、删除 cookie 和缓存

  • 基于 node.js 技术进行服务器端编程

1.2 JavaScript 的组成及基本结构

1.2.1 JavaScript 的组成

  • 一个完整的 JavaScript 由三部分组成:ECMAScript、DOM、BOM
  • ECMAScript
    • 一种脚本程序设计语言
    • 主要描述了 JavaScript 的语法、变量、数据类型、运算符、逻辑控制语句、关键字、对象等
  • DOM (Document Object Model, 文档对象模型)
    • HTML 稳定对象模型定义的一套标准方法
    • 用来访问和操作 HTML 稳定
    • 例如电商网站页面弹出的提示框
  • BOM (Browser Object Model,浏览器对象模型)
    • 用于描述对象与对象之间层次关系的模型
    • 浏览器对象模型提供了独立于内容的、可以与浏览器窗口进行互动的对象结构
    • 例如、网页弹出新浏览器窗口的能力,移动、关闭和更改浏览器窗口大小的能力

1.2.2 JavaScript 的基本结构

  • **使用 JavaScript 时,可以将代码写入 ==为止
  • 语法如下
<script type="text/javascript">//JavaScript 语句;
</script>
  • type 属性用于指定文本使用的语言类别
  • 使用 JavaScript 在网页中输出 “你好,JavaScript” 示例如下
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>JavaScript 的基本结构</title>
</head>
<body>
<script>document.write("你好,JavaScript");
</script>
</body>
</html>
  • 效果如下图所示

一、JS01 JavaScript 基础

  • document.write() 表示用来向页面输出可以包含 HTML 标签的内容
  • 标签可以包含在文档中的任何地方,需要保证这些代码在被使用前已读取并加载到内存

1.2.3 在网页中引入 JavaScript 代码

将 JavaScript 代码引入网页中有三种方式

1、内部 JavaScript 文件

2、外部 JavaScrip 文件

3、直接写在 HTML 标签中

1、内部 JavaScript 文件

  • 直接使用

2、外部 JavaScript 文件

  • 将 JavaScript 代码写入一个外部文件,以 .JS 为扩展名保存

  • 然后将改文件指定给

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>外部 JavaScript 文件</title>
</head>
<body>
<script type="text/javascript" sec="js文件路径"></script>
</body>
</html>
  • 外部 JavaScript 文件常用于代码量较大,并且若干页面中具有相同的 JavaScript 效果的情况
  • 可以很好地达到代码复用的效果

3、直接写入 HTML 标签中

  • 直接将 JavaScript 代码写在 HTML 标签中适用于简短的 JavaScript 代码
  • 直接写入 HTML 标签中 语法
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>直接写入 HTML 标签中</title>
</head>
<body><input type="button" value="单击弹出对话框"onclick="javascript:alert('你好,JavaScript');">
</body>
</html>

1.3 JavaScript 的核心语法

JavaScript 的核心语法包含变量的声明和赋值、数据类型、运算符、逻辑控制语句等基本语法

1.3.1 变量的声明和赋值

1、变量的声明

  • JavaScript 变量都由关键字 var 声明
  • var 声明变量的语法如下
var 变量名;
  • 变量名可以由数字、字母、下划线及 “$” 符合组成
  • 变量名首字母不能为数字,也不能使用关键字命名
  • 声明变量时,可以一次性声明多个变量
  • 语法格式如下
var 变量名1,变量名2,...;

2、变量的赋值

  • 声明变量同时使用 = 对变量进行初始化赋值
  • 语法格式如下
var 变量名=;
var 变量1,变量2,变量3=1,2,3

1.3.2 JavaScript 的数据类型

**JavaScript 是弱脚本语言,声明变量时无需指定变量的数据类型,因为 JavaScript 变量的数据类型是解释时动态决定的 **

1、基本数据类型

基本数据类型包含 数值类型(number)、字符串类型(string)、布尔类型(boolean)

  • 数值类型

    • JavaScript 的数值类型包括所有的整型变量、还包括所有的浮点型变量
    • JavaScript 支持八进制和十六进制。
    • 八进制以 0 开头表示,十六进制以 0x 或 0X 开头表示
    • 当数值类型超出了表述范围,将会出现两个特殊值:Infinity(正无穷大)和 -Infintiy(负无穷大)
    • JavaScript 中有一个特殊值—— NaN。表示非数值,它是数值类型
  • 字符串类型

    • JavaScript 的字符串必须用引号括起来,可以是单引号,也可以是双引号
    • 例如
    var str1="123abc";
    var str2='123abc';
    
    • string 类包含的一些方法
    方法名 作用
    charAt() 返回指定位置的字符串
    toUpperCase() 把字符串转换成大写
    toLowerCase() 把字符串转换成小写
    indexOf() 返回某个指定的字符串在字符串中首次出现的位置
    subString() 用于提取字符串中介于两个指定下标之间的字符
    split() 用于把一个字符串分割成字符串数组
    replace() 用于在字符串中用一些字符替换另一些字符
  • 布尔类型

    • 布尔类型的值只有两个 true 和 false
    • 布尔类型的值通常是逻辑运算的结果,或用于标志对象的某种状态

2、特殊数据类型

  • 特殊数据类型包含 **空类型(null)**和 未定义类型(undefined)
  • null 表示变量的值为空,可以用来检测某个变量是否被赋值
  • undefined 类型的值只有一个 fndefined,用于表示某个变量不存在,或者没有为其分配值,也用于表示对象的属性不存在
  • null 表示变量是有值的,只是其值为 null

3、判断数据类型

  • typeof 运算符用来判断某个值或变量的数据类型
  • 语法格式如下
typeof(值或变量);
  • typeof 的返回值
返回值 说明
number 如果变量是数值类型,则返回 number
string 如果变量是字符串类型,则返回 string
boolean 如果变量是布尔类型,则返回 boolean
object 如果变量是空类型,或者是一种引用类型,如对象、函数、数值、则返回object
undefined 如果变量是未定义类型,没有赋予值,则返回 undefined

1.4 系统对话框

浏览器可以通过 alert()、confirm()、prompt() 方法调用系统对话框向用户显示消息

1.4.1 alert()

  • alert() 方法用于向用户显示一个警告对话框
  • 包含指定的文本和一个 “确定” 按钮
  • 示例
alert("确认登录吗")
  • 效果图

一、JS01 JavaScript 基础

1.4.2 confrim()

  • confirm() 方法用于向用户显示一个消息对话框
  • 该对话框包含一个指定文本已经 “确认” 按钮 和 “取消” 按钮
  • 点击确定 返回 true,点击取消返回 false
  • 示例
confirm("确认登录吗")
  • 效果图

一、JS01 JavaScript 基础

1.4.3 prompt()

  • prompt() 方法会弹出一个提示对话框,等待用户输入一些数据
  • 当用户点击确认时,返回值是用户所输入的数据,类型为 string
  • 语法格式如下
prompt("提示信息","输入框的默认信息");
  • 示例
prompt("今天是几月几号","4月9号");
  • 效果图

一、JS01 JavaScript 基础

1.5 初识函数

在 JavaScript 中,函数类似于 Java 中的函数

JavaScript 中的函数不要定义属于某个类,因此调用时不需要使用对象吗调用

1.5.1 系统函数

JavaScript 中常用的系统函数有三种

ParseInt() 、parseFloat() 、isNaN()

1、parseInt()

  • parseInt() 函数可以将字符串类型的数据转为整数类型
  • parseInt() 会先判断是否是数字,如果是数字,则进行转换,否则,返回 NaN
  • 示例
var num1=parseInt("56.64"); //返回56
var num2=parseInt("123abc") //返回123
var num3=parseInt("hello") //返回 NaN

2、parseFloat()

  • parseFloat() 函数可以将字符串类型的数据转为浮点类型
  • parseFloat() 与 parseInt() 的处理方式相似
  • 第一个出现的小数点是有效字符串,如果有第二个小数点,那么第二个小数点无效
  • 示例
var num1=parseFloat("3.1415926"); //返回 3.1415926
var num2=parseFloat("123abc"); //返回123
var num3=parseFloat("hello"); //返回 NaN
var num4=parseFloat("52.18.97"); //返回 52.18

3、inNaN()

  • 用于检查其参数是否是非数字
  • 如果 是特殊的非数字,则返回 true,否则返回 false
  • 示例
var num1=isNaN("20.5");   //返回值为 false
var num2=isNaN("123abc");  //返回 true
var num3=isNaN("48.98");   //返回 false

1.5.2 自定义函数

与 Java 语言一样,JavaScript 需要先定义函数,然后才能调用函数

定义函数的方法有两种:1、函数声明 2、函数表达式

1、函数声明

  • 函数声明由关键字 function、函数名、一组参数及大括号组成
  • 函数声明 语法
function 函数名([参数1,参数2,参数3,...]){//JavaScript 语句;返回值
}
  • 声明完一个函数后,可以执行这个函数
  • 执行一个函数,必须先调用这个函数
  • 调用函数时,必须指定函数名及其后面的参数(有参的情况下),函数的调用一般和元素的事件结合使用
  • 调用函数 语法
事件名="函数名([参数])";

2、函数表达式

  • 将一个函数赋给一个变量,此时形成了函数表达式
  • 函数表达式 语法
var 变量=function(参数1,参数2,参数3,...){//JavaScript 语句
}
  • 函数声明和函数表达式的基本使用方法是一样

  • 函数声明和函数表达式的不同之处

  • 具体代码示例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<script>//函数声明function f1(){document.write("兰巧儿真可爱!<br>")}f1();function f1(){document.write("兰巧儿真可爱!哈哈哈~~~<br>")}f1();//函数表达式var f2=function (){document.write("巧克力<br>")}f2();var f2=function (){document.write("哇哦,是巧克力<br>")}f2();
</script>
</body>
</html>
  • 运行结果

一、JS01 JavaScript 基础

  • 由此可以看出,使用函数声明的方法定义的两个函数名相同的函数,后面的函数会覆盖前面的函数
  • 使用函数表达式的方式定义的函数,会从上到下逐行执行代码输出结果

1.5.3 函数自调用

  • 在自定义函数中,如果函数有名字,如 **function study(){} **则会被称为 命名函数
  • 如果函数没有名字,如 function() 则被称为匿名函数
  • 匿名函数的调用
(function(){//函数体
})();
  • function(){} 匿名函数放在一对 () 中,就实现了调用,称之为函数自调用
  • 函数自调用的特点就是函数没有名字,在声明时直接调用
  • 好处在于,自调用不会像函数声明那样,覆盖前面的函数

1.6 事件

1.6.1 事件的概念及作用

当与浏览器交互时,浏览器就会触发各种事件来完成网页中的各种特效

  • 常用的事件如下
事件名 作用
onload 一个页面或一幅图像完成加载
onclick 鼠标单机某个对象
onmouseover 鼠标指针移到某元素上
onmouseout 鼠标指针离开某元素
onkeydown 某个键盘按键被按下
onchange 域的内容被改变
  • 示例,当按钮被单机时,触发函数
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<script>function fn(){alert("兰巧儿真可爱!");}</script>
<input type="button" value="按钮" onclick="fn()">
</body>
</html>

| onload | 一个页面或一幅图像完成加载 |
| onclick | 鼠标单机某个对象 |
| onmouseover | 鼠标指针移到某元素上 |
| onmouseout | 鼠标指针离开某元素 |
| onkeydown | 某个键盘按键被按下 |
| onchange | 域的内容被改变 |

  • 示例,当按钮被单机时,触发函数
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<script>function fn(){alert("兰巧儿真可爱!");}</script>
<input type="button" value="按钮" onclick="fn()">
</body>
</html>