JavaScript基础知识1(引入方式、注释、输入输出、变量、数组)
- javascript 引入方式
- 内部方式
- 外部形式
- 注释和结束符
- 单行注释
- 多行注释
- 结束符
- 输入和输出
- 输出
- 输入
- `alert('你好JS');`
- `document.write('js我来了');`
- `console.log('看看对不对');`
- `prompt('输入您的姓名:');`
- 综合示例
- 变量
- 声明
- 赋值
- 关键字
- 变量名命名规则
- 数组
- 创建数组
- 访问数组元素
- 修改数组元素
- 常用数组方法
- 示例
javascript 引入方式
JavaScript 程序不能独立运行,它需要被嵌入 HTML 中,然后浏览器才能执行 JavaScript 代码。通过 script
标签将 JavaScript 代码引入到 HTML 中,有两种方式:
内部方式
通过 script
标签包裹 JavaScript 代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JavaScript 基础 - 引入方式</title>
</head>
<body>
<!-- 内联形式:通过 script 标签包裹 JavaScript 代码 -->
<script>
alert('嗨,欢迎来传智播学习前端技术!')
</script>
</body>
</html>
外部形式
一般将 JavaScript 代码写在独立的以 .js 结尾的文件中,然后通过 script
标签的 src
属性引入
// demo.js
document.write(' 学习前端技术!')
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JavaScript 基础 - 引入方式</title>
</head>
<body>
<!-- 外部形式:通过 script 的 src 属性引入独立的 .js 文件 -->
<script src="demo.js"></script>
</body>
</html>
如果 script 标签使用 src 属性引入了某 .js 文件,那么 标签的代码会被忽略!!!所以一般不写如下代码所示:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JavaScript 基础 - 引入方式</title>
</head>
<body>
<!-- 外部形式:通过 script 的 src 属性引入独立的 .js 文件 -->
<script src="demo.js">
// 此处的代码会被忽略掉!!!!
alert(666);
</script>
</body>
</html>
注释和结束符
通过注释可以屏蔽代码被执行或者添加备注信息,JavaScript 支持两种形式注释语法:
单行注释
使用 //
注释单行代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JavaScript 基础 - 注释</title>
</head>
<body>
<script>
// 这种是单行注释的语法
// 一次只能注释一行
// 可以重复注释
document.write('嗨,欢迎来传智播学习前端技术!');
</script>
</body>
</html>
多行注释
使用 /* */
注释多行代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JavaScript 基础 - 注释</title>
</head>
<body>
<script>
/* 这种的是多行注释的语法 */
/*
更常见的多行注释是这种写法
在些可以任意换行
多少行都可以
*/
document.write('嗨,欢迎来传智播学习前端技术!')
</script>
</body>
</html>
注:编辑器中单行注释的快捷键为 ctrl + /
多行注释为shift+alt+a
结束符
在 JavaScript 中 ;
代表一段代码的结束,多数情况下可以省略 ;
使用回车(enter)替代。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JavaScript 基础 - 结束符</title>
</head>
<body>
<script>
alert(1);
alert(2);
alert(1)
alert(2)
</script>
</body>
</html>
实际开发中有许多人主张书写 JavaScript 代码时省略结束符 ;
输入和输出
输出和输入也可理解为人和计算机的交互,用户通过键盘、鼠标等向计算机输入信息,计算机处理后再展示结果给用户,这便是一次输入和输出的过程。
举例说明:如按键盘上的方向键,向上/下键可以滚动页面,按向上/下键这个动作叫作输入,页面发生了滚动了这便叫输出。
输出
JavaScript 可以接收用户的输入,然后再将输入的结果输出:
alert()
、document.wirte()
以数字为例,向 alert()
或 document.write()
输入任意数字,他都会以弹窗形式展示(输出)给用户。
输入
向 prompt()
输入任意内容会以弹窗形式出现在浏览器中,一般提示用户输入一些内容。
这几种 JavaScript 语法各自有不同的作用,分别用于不同的输入和输出场景。以下是详细的解释:
alert('你好JS');
作用:显示一个警告对话框,包含指定的消息和一个“确定”按钮。用户必须点击“确定”按钮才能关闭对话框并继续与页面交互。
示例:
alert('你好JS');
效果:弹出一个对话框,显示消息“你好JS”。
document.write('js我来了');
作用:将指定的文本直接写入到 HTML 文档中。通常用于在页面加载时动态生成内容。
示例:
document.write('js我来了');
效果:在页面上显示“js我来了”。
注意:document.write
只有在页面加载时使用是安全的。如果在页面加载完成后再调用 document.write
,它会清空整个文档的内容,并写入新的内容。因此,现代开发中很少使用 document.write
。
console.log('看看对不对');
作用:将指定的信息输出到浏览器的控制台中,主要用于调试和开发。
示例:
console.log('看看对不对');
效果:在浏览器的开发者工具控制台中显示“看看对不对”。
prompt('输入您的姓名:');
作用:显示一个提示对话框,包含指定的消息和一个文本输入框。用户可以在输入框中输入数据,然后点击“确定”或“取消”按钮。该函数会返回用户输入的字符串。如果用户点击“取消”,则返回 null
。
示例:
const name = prompt('输入您的姓名:');
console.log(`您输入的姓名是:${name}`);
效果:弹出一个对话框,提示用户输入姓名。输入内容后点击“确定”,用户输入的内容会被存储在变量 name
中,并输出到控制台。
综合示例
以下是一个综合示例,展示了如何使用这些语法:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JavaScript 示例</title>
</head>
<body>
<script>
// 弹出警告对话框
alert('你好JS');
// 将文本写入到 HTML 文档中
document.write('js我来了');
// 在控制台输出信息
console.log('看看对不对');
// 显示提示对话框,并将用户输入的内容输出到控制台
const name = prompt('输入您的姓名:');
console.log(`您输入的姓名是:${name}`);
</script>
</body>
</html>
这个示例中,当页面加载时:
- 弹出一个警告对话框,显示“你好JS”。
- 在页面上显示“js我来了”。
- 在控制台输出“看看对不对”。
- 弹出一个提示对话框,要求用户输入姓名,并将输入的姓名输出到控制台。
理解变量是计算机存储数据的“容器”,掌握变量的声明方式
变量是计算机中用来存储数据的“容器”,它可以让计算机变得有记忆,通俗的理解变量就是使用【某个符号】来代表【某个具体的数值】(数据)
<script>
// x 符号代表了 5 这个数值
x = 5
// y 符号代表了 6 这个数值
y = 6
//举例: 在 JavaScript 中使用变量可以将某个数据(数值)记录下来!
// 将用户输入的内容保存在 num 这个变量(容器)中
num = prompt('请输入一数字!')
// 通过 num 变量(容器)将用户输入的内容输出出来
alert(num)
document.write(num)
</script>
变量
理解变量是计算机存储数据的“容器”,掌握变量的声明方式
变量是计算机中用来存储数据的“容器”,它可以让计算机变得有记忆,通俗的理解变量就是使用【某个符号】来代表【某个具体的数值】(数据)
<script>
// x 符号代表了 5 这个数值
x = 5
// y 符号代表了 6 这个数值
y = 6
//举例: 在 JavaScript 中使用变量可以将某个数据(数值)记录下来!
// 将用户输入的内容保存在 num 这个变量(容器)中
num = prompt('请输入一数字!')
// 通过 num 变量(容器)将用户输入的内容输出出来
alert(num)
document.write(num)
</script>
声明
声明(定义)变量有两部分构成:声明关键字、变量名(标识)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JavaScript 基础 - 声明和赋值</title>
</head>
<body>
<script>
// let 变量名
// 声明(定义)变量有两部分构成:声明关键字、变量名(标识)
// let 即关键字,所谓关键字是系统提供的专门用来声明(定义)变量的词语
// age 即变量的名称,也叫标识符
let age
</script>
</body>
</html>
关键字是 JavaScript 中内置的一些英文词汇(单词或缩写),它们代表某些特定的含义,如 let
的含义是声明变量的,看到 let
后就可想到这行代码的意思是在声明变量,如 let age;
let
和 var
都是 JavaScript 中的声明变量的关键字,推荐使用 let
声明变量!!!
赋值
声明(定义)变量相当于创造了一个空的“容器”,通过赋值向这个容器中添加数据。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JavaScript 基础 - 声明和赋值</title>
</head>
<body>
<script>
// 声明(定义)变量有两部分构成:声明关键字、变量名(标识)
// let 即关键字,所谓关键字是系统提供的专门用来声明(定义)变量的词语
// age 即变量的名称,也叫标识符
let age
// 赋值,将 18 这个数据存入了 age 这个“容器”中
age = 18
// 这样 age 的值就成了 18
document.write(age)
// 也可以声明和赋值同时进行
let str = 'hello world!'
alert(str);
</script>
</body>
</html>
关键字
JavaScript 使用专门的关键字 let
和 var
来声明(定义)变量,在使用时需要注意一些细节:
以下是使用 let
时的注意事项:
- 允许声明和赋值同时进行
- 不允许重复声明
- 允许同时声明多个变量并赋值
- JavaScript 中内置的一些关键字不能被当做变量名
以下是使用 var
时的注意事项:
- 允许声明和赋值同时进行
- 允许重复声明
- 允许同时声明多个变量并赋值
大部分情况使用 let
和 var
区别不大,但是 let
相较 var
更严谨,因此推荐使用 let
,后期会更进一步介绍二者间的区别。
变量名命名规则
关于变量的名称(标识符)有一系列的规则需要遵守:
- 只能是字母、数字、下划线、$,且不能能数字开头
- 字母区分大小写,如 Age 和 age 是不同的变量
- JavaScript 内部已占用于单词(关键字或保留字)不允许使用
- 尽量保证变量具有一定的语义,见字知义
注:所谓关键字是指 JavaScript 内部使用的词语,如 let
和var
,保留字是指 JavaScript 内部目前没有使用的词语,但是将来可能会使用词语。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JavaScript 基础 - 变量名命名规则</title>
</head>
<body>
<script>
let age = 18 // 正确
let age1 = 18 // 正确
let _age = 18 // 正确
// let 1age = 18; // 错误,不可以数字开头
let $age = 18 // 正确
let Age = 24 // 正确,它与小写的 age 是不同的变量
// let let = 18; // 错误,let 是关键字
let int = 123 // 不推荐,int 是保留字
</script>
</body>
</html>
JavaScript 中的数组是一种用于存储多个值的变量类型。数组是有序的集合,每个元素都有一个索引,从 0 开始。以下是 JavaScript 数组的基本概念、常用方法和示例。
数组
创建数组
-
使用数组字面量:
let fruits = ['Apple', 'Banana', 'Cherry'];
-
使用
Array
构造函数:let fruits = new Array('Apple', 'Banana', 'Cherry');
访问数组元素
通过索引访问数组元素,索引从 0 开始:
let fruits = ['Apple', 'Banana', 'Cherry'];
console.log(fruits[0]); // 输出 'Apple'
console.log(fruits[1]); // 输出 'Banana'
console.log(fruits[2]); // 输出 'Cherry'
修改数组元素
直接使用索引修改数组中的元素:
let fruits = ['Apple', 'Banana', 'Cherry'];
fruits[1] = 'Blueberry';
console.log(fruits); // 输出 ['Apple', 'Blueberry', 'Cherry']
常用数组方法
-
push()
和pop()
:-
push()
在数组末尾添加一个或多个元素。 -
pop()
从数组末尾删除一个元素。
let fruits = ['Apple', 'Banana']; fruits.push('Cherry'); // ['Apple', 'Banana', 'Cherry'] fruits.pop(); // ['Apple', 'Banana']
-
-
unshift()
和shift()
:-
unshift()
在数组开头添加一个或多个元素。 -
shift()
从数组开头删除一个元素。
let fruits = ['Apple', 'Banana']; fruits.unshift('Mango'); // ['Mango', 'Apple', 'Banana'] fruits.shift(); // ['Apple', 'Banana']
-
-
concat()
:- 合并两个或多个数组,返回一个新数组。
let fruits = ['Apple', 'Banana']; let moreFruits = ['Cherry', 'Date']; let allFruits = fruits.concat(moreFruits); // ['Apple', 'Banana', 'Cherry', 'Date']
-
slice()
:- 从数组中提取部分元素,返回一个新数组。
let fruits = ['Apple', 'Banana', 'Cherry', 'Date']; let someFruits = fruits.slice(1, 3); // ['Banana', 'Cherry']
-
splice()
:- 添加、删除或替换数组中的元素。
let fruits = ['Apple', 'Banana', 'Cherry']; fruits.splice(1, 1, 'Blueberry'); // ['Apple', 'Blueberry', 'Cherry']
-
forEach()
:- 遍历数组中的每个元素。
let fruits = ['Apple', 'Banana', 'Cherry']; fruits.forEach(function(fruit) { console.log(fruit); }); // 输出: // Apple // Banana // Cherry
-
map()
:- 创建一个新数组,数组中的每个元素是回调函数的返回值。
let numbers = [1, 2, 3]; let doubled = numbers.map(function(number) { return number * 2; }); console.log(doubled); // [2, 4, 6]
-
filter()
:- 创建一个新数组,数组中的每个元素是通过回调函数测试的所有元素。
let numbers = [1, 2, 3, 4]; let evens = numbers.filter(function(number) { return number % 2 === 0; }); console.log(evens); // [2, 4]
-
reduce()
:- 对数组中的每个元素执行一个累加器函数,最终为单一的输出值。
let numbers = [1, 2, 3, 4]; let sum = numbers.reduce(function(total, number) { return total + number; }, 0); console.log