-1st- 概述
本文主要粘贴自:www.w3school.com.cn/js/index.asp,详情可打开该网站查看,本人仅做简化整理。
HTML、CSS、JavaScript三大语言,是网页前端工程师必备的基础语言。HTML用于组织网页内容,CSS用于网页的布局,JavaScript用于在网页中执行代码操作。
本人学习HTML、JavaScript是为了从电子地图JS端口获取数据,当然用途不仅限此。HTML是最基础的语言,只需要了解以下语言规则即可满足后续需要。
可以使用自带的记事本(Txt)编写HTML文档,编写完成后文件菜单选择“另存为”。,保存时,既可以使用 .htm 也可以使用 .html 扩展名,两者没有区别。
也使用WebStorm(推荐)、 Notepad (win)或 TextEdit (mac)来编写 HTML。
-2nd- JavaScript简介
在 HTML 中,JavaScript 语句是由 web 浏览器“执行”的“指令”。
01 Script标签
在HTML中,JavaScript代码必须位于 标签之间。如需向一张页面添加多个脚本文件 ,请使用多个 script 标签。
02 外部脚本
脚本可放置于外部文件中。外部脚本很实用,如相同的脚本被用于许多不同的网页。JavaScript 文件的文件扩展名是 .js。
如需使用外部脚本,请在
-4th- JavaScript基本语法
01 概述
1. JavaScript 语句由以下内容构成:
值、运算符、表达式、关键词和注释。
2. 分号分隔每一条JavaScript 语句,一行可以写入多条语句
3. JavaScript 会忽略多个空格。
4. 换行
为了达到最佳的可读性,常常把代码行控制在 80 个字符以内。如果 JavaScript 语句太长,对其进行折行的最佳位置是某个运算符
5. JavaScript 代码块
JavaScript 语句可以用花括号”{...}”组合在代码块中。代码块的作用是定义一同执行的语句。
6. 关键词
通过某个关键词来标识需要执行的 JavaScript 动作
关键词 | 描述 |
break | 终止 switch 或循环。 |
continue | 跳出循环并在顶端开始。 |
debugger | 停止执行 JavaScript,并调用调试函数(如果可用)。 |
do ... while | 执行语句块,并在条件为真时重复代码块。 |
for | 标记需被执行的语句块,只要条件为真。 |
function | 声明函数。 |
if ... else | 标记需被执行的语句块,根据某个条件。 |
return | 退出函数。 |
switch | 标记需被执行的语句块,根据不同的情况。 |
try ... catch | 对语句块实现错误处理。 |
var | 声明变量。前面加let,声明一个块级作用域的变量 |
02 注释
1. 单行注释:双斜杠 //
2. 多行注释: /* 多行
内容 */
03 值
I JavaScript 语句定义两种类型的值:混合值(字面量)和变量值
字面量即输入的确定数值、字符串,数值有无小数点均可,字符串是文本,由双引号或单引号包围
变量用于存储数据值,使用 var 关键词来声明变量,= 号用于为变量赋值
II 变量类型
包括字符串值,数值,布尔值,数组,对象
//JavaScript 拥有动态类型。这意味着相同变量可用作不同类型,以后赋值的为准
i 字符串
1. 必须由引号包围,如需使用引号,则需要转义符\
常用转义符:
代码 | 结果 | 描述 |
\' | ' | 单引号 |
\" | " | 双引号 |
\\ | \ | 反斜杠 |
\b | 退格键 |
\f | 换页 |
\n | 新行 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
2. 在字符串中换行,通过一个反斜杠即可
不过\ 方法并不是 ECMAScript (JavaScript)标准。
某些浏览器也不允许 \ 字符之后的空格。
对长字符串换行的最安全做法(但是有点慢)是使用+号
3. length 属性返回字符串的长度
4. 有三种提取部分字符串的方法:
slice(start, end)
substring(start, end)
substr(start, length)
//charAt(position)
5. 转换为大写和小写
toUpperCase()
toLowerCase()
6. trim() 方法删除字符串两端的空白符
7. 把字符串转换为数组
可以通过 split() 将字符串转换为数组:
实例
var txt = "a,b,c,d,e"; // 字符串txt.split(","); // 用逗号分隔txt.split(" "); // 用空格分隔txt.split("|"); // 用竖线分隔
ii 数值类型只有一种(64位浮点数)
1. 数值都可以用科学计数法表示,
如vary = 123e5; // 12300000
2. toString() 以字符串返回数值
方法 | 描述 |
Number() | 返回数字,由其参数转换而来。 |
parseFloat() | 解析其参数并返回浮点数。 |
parseInt() | 解析其参数并返回整数。 |
3. Number() 还可以把日期转换为数字
实例
Number(new Date("2019-04-15")); // 返回 1506729600000
iii 布尔值只有两个值:true 或 false
iv 数组
1. 用方括号[……]书写,括号内用逗号分隔
var cars = ["Porsche","Volvo", "BMW"];
2. 数组索引基于零,这意味着第一个项目是 [0],第二个项目是 [1],以此类推
3. 向数组添加新元素的最佳方法是使用 push()
fruits.push("Lemon");
4. pop() 方法从数组中删除最后一个元素
fruits.pop();
5. shift() 方法会删除首个数组元素,并把所有其他元素“位移”到更低的索引
6. unshift() 方法(在开头)向数组添加新元素,并“反向位移”旧元素
7. delete 运算符来删除,不过会在数组留下未定义的空洞
delete fruits[0];
8. concat() 方法通过合并(连接)现有数组来创建一个新数组
实例
var myGirls = ["Cecilie","Lone"];var myBoys = ["Emil", "Tobias", "Linus"];var myChildren = myGirls.concat(myBoys); // 连接 myGirls 和 myBoys
9. toString() 把数组转换为数组值(逗号分隔)的字符串
10. join() 方法也可将所有数组元素结合为一个字符串
v 对象
1. 对象用花括号{……}来书写,对象属性是 name:value 对,由逗号分隔
实例
var person = {firstName:"Bill",lastName:"Gates", age:62, eyeColor:"blue"};
上例中的对象(person)有四个属性:firstName、lastName、age 以及 eyeColor
2. 对象的属性也可以是某个函数(方法)
实例
fullName : function() { return this.firstName + " " + this.lastName}//this 引用该函数的“拥有者”
3. 访问对象属性
以两种方式访问属性:
objectName.propertyName
或者
objectName["propertyName"]
4. 不要把字符串、数值和布尔值声明为对象,会增加代码的复杂性并降低执行速度
III 变量作用域
i 局部 JavaScript 变量
在 JavaScript 函数中声明的变量,会成为函数的局部变量,只能在内部访问。
ii 全局 JavaScript 变量
函数之外声明的变量,会成为全局变量。全局变量的作用域是全局的:网页的所有脚本和函数都能够访问它。
IV 标识符
1. 标识符用于命名变量(以及关键词、函数和标签)
2. 首字符必须是字母、下划线(-)或美元符号($)
3. 对大小写敏感
建议采用驼峰式大小写(Camel Case):
FirstName, LastName, MasterCard, InterCity.
04 运算符
I 算数运算符(+ - * /)
运算符 | 描述 |
+ | 加法 |
- | 减法 |
* | 乘法 |
/ | 除法 |
% | 取余 |
++ | 递加 |
-- | 递减 |
/*JavaScript 中不能使用连字符。它是为减法预留的,用下划线代替
+号也用来连接字符串
数字和字符串相加,结果将是字符串*/
II 赋值运算符(=)
运算符 | 例子 | 等同于 |
= | x = y | x = y |
+= | x += y | x = x + y |
-= | x -= y | x = x - y |
*= | x *= y | x = x * y |
/= | x /= y | x = x / y |
%= | x%=y | x=x%y |
//“等于”运算符是 ==
III 比较运算符
运算符 | 描述 |
== | 等于 |
=== | 等值等型 |
!= | 不相等 |
!== | 不等值或不等型 |
> | 大于 |
小于 | |
>= | 大于或等于 |
<= | 小于或等于 |
? | 三元运算符 |
IV 逻辑运算符
运算符 | 描述 |
&& | 逻辑与 |
|| | 逻辑或 |
! | 逻辑非 |
V 类型运算符
运算符 | 描述 |
typeof | 返回变量的类型。 |
instanceof | 返回 true,如果对象是对象类型的实例。 |
05 函数
I 函数定义
JavaScript 函数通过 function 关键词进行定义,其后是函数名和括号 (参数1,参数2,……),函数执行的代码被放置在花括号中:{}
function name(参数 1, 参数 2, 参数 3) { 要执行的代码}
II 函数调用
函数中的代码将在其他代码调用该函数时执行:
当事件发生时(当用户点击按钮时)
当 JavaScript 代码调用时
自动的(自调用)
III 使用return返回函数值
IV Math 函数
用于实现复杂数学计算,例如取整、求平方根等,具体参考
https://www.w3school.com.cn/js/js_math.asp
06 事件
I 概述
HTML 事件是发生在 HTML 元素上的“事情”。
当在 HTML 页面中使用 JavaScript 时,JavaScript 能够“应对”这些事件。
语法
event='一些JavaScript语句'>
实例一
<button onclick='document.getElementById("demo").innerHTML=Date()'>现在的时间是?button>//定义名称为“现在时间是”的按钮,onclick(点击一次)后执行js代码
实例二
"随便" type=//定义了一个“按钮显示的文字”的按钮,按钮的id为“随便”,onclick(点击一次)后执行js代码
II 常用事件:
事件 | 描述 |
onchange | HTML 元素已被改变 |
onclick | 用户点击了 HTML 元素 |
onmouseover | 用户把鼠标移动到 HTML 元素上 |
onmouseout | 用户把鼠标移开 HTML 元素 |
onkeydown | 用户按下键盘按键 |
onload | 浏览器已经完成页面加载 |
-5th- JavaScript高级语法
01 条件语句
I If...Else 条件语句
if (表达式) { 代码块; } else if (表达式){ 代码块; } else { 代码块; }
II Switch 条件语句
switch(表达式) { case n: 代码块 break; case n: 代码块 break; default: 默认代码块}
代码解释:
计算一次 switch 表达式
把表达式的值与每个 case 的值进行对比
如果存在匹配,则执行关联代码
02 循环语句
JavaScript 支持不同类型的循环:
for - 多次遍历代码块
for/in - 遍历对象属性
while - 当指定条件为 true 时循环一段代码块
do/while - 当指定条件为 true 时循环一段代码块
break 语句“跳出”循环。
continue 语句“跳过”循环中的一个迭代。
I For循环语句
语法
for (语句1; 语句 2; 语句3) { 要执行的代码块}
语句 1 在循环(代码块)开始之前执行。
语句 2 定义运行循环(代码块)的条件。
语句 3 会在循环(代码块)每次被执行后执行。
实例
for (i = 0; i < 5; i++) { text += "数字是 " + i +"
";}
II for/in 语句遍历对象的属性
for/in语句是for语句的变体,用于在指定值区间内进行重复操作
实例
var person ={fname:"Bill", lname:"Gates", age:62}; var text = "";var x;for (x in person) { text += person[x];}
III While 循环语句
while 循环会一直循环代码块,只要指定的条件为 true。
语法
while (条件){ 要执行的代码块}
IV Do/While 循环语句
do/while 循环是 while 循环的变体。在检查条件是否为真之前,这种循环会执行一次代码块,然后只要条件为真就会重复循环。
语法
do { 要执行的代码块}while (条件);
03 容错机制try 和 catch
1. try 语句允许您定义一个代码块,以便在执行时检测错误。
2. catch 语句允许你定义一个要执行的代码块,如果 try 代码块中发生错误。
3. JavaScript 语句 try 和 catch 成对出现:
语法
try { 供测试的代码块} catch(err) { 处理错误的代码块}