JavaScript编程基础:掌握变量、函数与DOM操作
发布时间: 2023-12-20 15:55:57 阅读量: 10 订阅数: 12
# 1. JavaScript基础概述
## 1.1 JavaScript简介与发展历程
JavaScript(简称JS)是一种脚本语言,用于在网页上实现动态交互效果。它是一种解释型语言,由浏览器解释执行,不需要经过编译。
JavaScript最早由Netscape公司的Brendan Eich设计开发,目的是为了增加浏览器的交互性。1995年,Netscape Navigator 2.0发布,正式引入了JavaScript。之后,JavaScript得到了广泛的应用与发展,并逐渐成为前端开发中必不可少的技术之一。
## 1.2 JavaScript变量与数据类型
在JavaScript中,变量用于存储数据。变量的命名遵循一定的规则,比如必须以字母、下划线或美元符号开头,可以包含字母、数字、下划线或美元符号。同时,JavaScript是一种动态类型语言,变量的类型可以根据存储的值自动推断。
JavaScript提供了多种数据类型,包括基本数据类型(如字符串、数字、布尔值)和复杂数据类型(如对象、数组等)。不同的数据类型对应着不同的操作和方法。
## 1.3 变量声明与赋值
在JavaScript中,可以使用var、let或const关键字来声明变量。其中,var是早期版本的声明方式,let和const是ES6引入的新特性。
变量的赋值可以使用等号(=)来进行。赋值时可以直接给变量赋予值,也可以先声明后赋值。
```javascript
// 变量声明与赋值示例
var x; // 声明变量x
x = 5; // 给变量x赋值为5
let y = 10; // 声明变量y并赋值为10
const PI = 3.14159; // 声明常量PI并赋值为3.14159
```
## 1.4 数据类型转换与比较
JavaScript中的数据类型转换常见有两种方式:显式转换和隐式转换。
显式转换通过一些内置的函数或操作符来实现,比如使用parseInt函数将字符串转换为整数,使用parseFloat函数将字符串转换为浮点数,使用String函数将其他类型转换为字符串。
隐式转换则是在特定的运算或比较中,根据数据类型的不同自动进行转换。比如在字符串与数字相加时,数字会被隐式转换为字符串进行拼接。
数据类型的比较可以使用比较运算符(如等于、不等于、大于、小于等)来进行。在比较时,JavaScript会进行数据类型的转换并按照一定的规则进行比较。
```javascript
// 数据类型转换与比较示例
let age = "18"; // 字符串类型的数字
let num = parseInt(age); // 使用parseInt函数将字符串转换为整数
console.log(num > 10); // 输出true,比较结果为布尔值
let x = "5";
let y = 5;
console.log(x == y); // 输出true,比较时会进行隐式转换
console.log(x === y); // 输出false,比较时不进行隐式转换
```
以上是JavaScript基础概述章节的部分内容,后续章节将继续介绍JavaScript的各个方面。
# 2. JavaScript函数基础
### 2.1 函数的定义与调用
JavaScript中的函数是一段可重复使用的代码块,用于执行特定的任务。
函数的定义可以使用function关键字,语法如下:
```javascript
function functionName(parameter1, parameter2, ...){
// 函数体
// 可以在函数体内进行各种操作、计算或执行其他函数
// 可以通过return语句返回一个值
}
```
其中,functionName为函数的名称,可以自定义;parameter1、parameter2为函数的参数,可以根据需要添加或省略;函数体是需要执行的具体代码。
函数的调用通过使用函数的名称和参数列表来调用,语法如下:
```javascript
functionName(argument1, argument2, ...);
```
其中,argument1、argument2为实际参数,可以根据函数定义的参数个数和顺序进行传递。
### 2.2 函数参数与返回值
函数的参数用于接收传入的实际参数值,在函数内部可以使用这些参数进行操作或计算。
函数的参数可以分为两种类型:必需参数和可选参数。
必需参数是定义函数时声明的参数,调用函数时必须传递对应的实际参数。
可选参数是定义函数时声明的参数,调用函数时可以选择性地传递实际参数,如果不传递实际参数,则参数值为undefined。
函数的返回值通过return语句来指定,return语句将函数的执行结果返回给调用者。一个函数可以返回一个值,也可以不返回任何值。
下面是一个示例代码:
```javascript
function calculateSum(a, b){
return a + b;
}
var result = calculateSum(3, 5);
console.log(result); // 输出8
```
在示例代码中,calculateSum函数接收两个参数a和b,然后将两个参数相加,并通过return语句返回结果。最后,调用calculateSum函数传入实际参数3和5,将返回的结果保存在result变量中,并使用console.log()将结果输出到控制台。运行结果为8。
### 2.3 匿名函数与箭头函数
除了使用函数声明和函数表达式定义函数外,JavaScript还支持使用匿名函数和箭头函数。
匿名函数是一种没有名称的函数,可以直接定义并赋值给变量,或作为其他函数的参数进行传递。匿名函数常用于定义回调函数或立即执行函数。
```javascript
var add = function(a, b){
return a + b;
};
var result = add(3, 5);
console.log(result); // 输出8
```
箭头函数是ES6新增的一种函数定义方式,它使用箭头(=>)来定义函数,语法更加简洁。箭头函数没有自己的this值,它会继承外部作用域的this值。
```javascript
var add = (a, b) => {
return a + b;
};
var result = add(3, 5);
console.log(result); // 输出8
```
### 2.4 作用域与闭包
作用域是指变量的可访问范围。在JavaScript中,作用域分为全局作用域和局部作用域。
全局作用域中定义的变量可以在整个程序中访问和使用。
局部作用域中定义的变量只能在局部作用域和它的子作用域中访问和使用,不能在全局作用域中访问。
JavaScript中的作用域规则是遵循词法作用域的,即函数的作用域由函数定义时所在的位置决定。
闭包是指在一个函数内部定义的函数,可以访问外部函数的变量和参数,即使外部函数已经执行完毕。闭包常用于创建私有变量和封装代码片段。
下面是一个闭包的示例代码:
```javascript
function outerFunction(){
var outerVariable = 'Hello';
function innerFunction(){
console.log(outerVariable);
}
return innerFunction;
}
var i
```
0
0