在我们前面的文章中已经深入学了HTML和CSS,在网页设计中我们已经有能力完成一个美观的网页框架
但仅仅是网页框架不足以展现出网页的魅力,JS由此而生!
JavaScript是一门弱类型脚本语言,其源代码在发往客户端运行之前不需要进行翻译,而是将文本格式的字符代码发送给浏览器由浏览器进行解释编译。
ECMAScript是一种由Ecma国际通过ECMA-262标准化的脚本程序设计语言,算是目前JS的一个标准。
目前我们所使用的JS版本一般是ES6,但网页的通用版本一般为ES5。
既然谈到JavaScript,首先谈及它的作用
我们来介绍JavaScript的两种书写方法:
在HTML的任意位置(注意不要超出HTML控制范围)都可以采用script成对标签来书写JS代码
在HTML的head部分,采用script成对标签来引入外部JS文件代码
我们下面给出示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>我们的第一个JavaScript代码</title>
<!-- JS和CSS一样分为内部标签和外部引入 -->
<!-- 内部引入采用script成对标签 -->
<script>
// JS中的注释是//
// 这里alert的意思是输出,我们后面会有介绍
alert("HelloWorld!");
</script>
<!-- 外部引入也是采用script成对标签,但里面需要写src=“JS文件地址” -->
<script src="js.js"></script>
</head>
<body>
<!-- 我们的html中不需要书写东西也可以使用JS -->
<!-- 注意,JS代码也可以写在body里面,只要不写在/html外都可以生效 -->
</body>
</html>
我们的JavaScript虽然在HTML中书写,但一般情况下我们无法在HTML文件中检查到错误
所以我们一般在HTML文件打开的网站中进行JavaScript的调试和错误修改以及提醒
下面我以图片形式展示JavaScript的浏览器控制调试顺序:
我们在控制台中进行JavaScript代码的调试,也可以在源代码中选择断点来进行错误检测
在介绍JavaScript的其他内容之前我需要先把一些基本内容告诉你们:
JavaScript是一种面向对象的编程语言,所以在JavaScript与HTML和CSS不同,我们可以在JavaScript中定义数据变量来协助我们书写代码
下面我先为大家介绍JavaScript的基本数据类型(与Java相似但有所不同,下面我只为JS特有类型做出标注):
数字类型包括有:
与Java一样采用“ ”来定义:
布尔值分为两种:
逻辑运算符分为三种:
JavaScript的比较符相对特殊:
在这里我想特别强调一下NaN和浮点数问题:
JavaScript存在两种特殊类型:
JavaScript的数组可以存在有不同基本类型的数据
定义格式:
定义例子:
输出方法:
注意:当打印越界时,不会报错,但打印结果为underfined
JavaScript的对象类似于键值对的存在方式
定义格式:
对象之间的数据用逗号隔开,最后一个不用
调用方法:
我们首先对字符串进行详细介绍:
let name = "侯佳磊";
let age = 18;
let msg = `你好啊,${name}`;
方法名 | 说明 |
---|---|
str.length | 字符串长度 |
str.toUpperCase() | 字符串字母变大写 |
str.toLowerCase() | 字符串字母变小写 |
str.indexOf('~') | 字符串查找“~”的下标 |
str.subString(n) | 返回一个从n到最后的字符串 |
str.subString(n,m) | 返回一个字符串(n,m]的字符串 |
JavaScript中数组可以结合各种类型的数值
JavaScript中数组可以结合各种类型的数值
方法名 | 说明 |
---|---|
indexOf() | 返回该数组中元素下标索引(注意数字1和字符串“1”不同) |
slice(n) | 截取一部分,返回一个数组(截取第n位之后的所有元素组成数组) |
push() | 把值在尾部输入 |
pop() | 把最后一个值从尾部弹出 |
unshift() | 把值在头部输入 |
shift() | 把第一个值从头部弹出 |
sort() | 排序方法 |
reverse() | 反转方法 |
concat() | 拼接方法(不会改变原数组,会返回一个新数组) |
join(“~”) | 用~连接各个元素并返回一个字符串 |
JavaScript的相关知识点:
var 对象名 = {
属性名:属性值,
属性名:属性值,
属性名:属性值
}
JavaScript的流程控制和Java相差不大
下面我们介绍三种新的for循环:
var age = [12,3,12,3,12,3,123,23];
//主要采用函数,注意:最外围是(),里面包括函数
age.forEach(function(value){
console.log(value)
})
//注意:这里的num是下标值
for(var num in age){
console.log(arr[num])
}
//注意:这里的num是元素值
for(var num of age){
console.log(num)
}
Map详解:
Set详解:
Map和Set均通过for方法实现遍历:
var map = new Map([["侯佳磊",18],["胡桃",18]]);
for(let value of map){
console.log(value[0]);
console.log(value[1]);
console.log(value)
}
var set = new Set([1,2,3,3,4]);
for(let value of set){
console.log(value)
}
好的,关于JavaScript的基本知识点我们就讲到这里,下节课我们将会学习JavaScript函数和常用对象