关于JavaScript
JavaScript 是一种高级的解释型语言,基于原型、函数先行,是一门多范式的语言。它支持面向对象编程、命令式编程和函数式编程,提供语法来操控文本、数组等,不支持 I/O,比如网络、存储和图形等(这些都可以由它的宿主环境提供支持)。
它被世界上的绝大多数网站所使用,也被世界主流浏览器支持。
JavaScript 的语言设计主要受到了 Self 和 Scheme的影响,语法结构上又与 C 语言有很多相似。随着最新的 HTML5 和 CSS3 语言标准的推行,它还可用于游戏、桌面和移动应用程序的开发和在服务器端网络环境运行,如 Node.js。
组成
- **ECMAScript:**语法标准。
- **DOM:**操作网页上的元素的 API。
- **BOM:**操作浏览器的部分功能的 API
特点
- 可以使用任何文本编辑工具编写,使用浏览器就可以执行
- 代码不进行预编译,从上往下逐行执行,不需要进行严格的变量声明
- 主要用来为HTML 页面添加交互行为
每次实验都需要新建一个test.html文件,然后在这个文件上开展后续实验:
html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body></body>
</html>
JavaScript包含在<script><script>标签里,放head标签或body标签都行,结果没什么区别,也可以通过外部引入(页面复杂时便于维护)。
变量
数据都存在内存中,变量就是一个用于存放数值的容器。每个变量存放的数值是可变的,都占有一段内存。
JS使用var关键字声明变量:
javascript
var name = "yourname";
JS变量命名规则
1.变量名必须以字母, _, $ 开头。
2.变量可以包含字母,数字,_和$。
3.不能使用关键字做为变量名。
4.变量名不能有空格。
5.变量名对大小写敏感。
类型
Number
String
Boolean
Array
Object
动态类型
// 单行注释;/* 多行注释 */
数字与运算符
JS中不管什么数字用var声明就行,运算符和运算顺序和其它语言类似。
数组
两种语法创建数组:
javascript
var array1 = new Array(1, 2, 3);
var array2 = [1, 2, 3];
多维数组:
javascript
var array0 = [[1, 2, 3], [4, 5, 6]];
要修改数组直接为要修改的元素提供新值,使用array.length获取数组长度。
数组和字符串间转换
split()可以分割字符串,使其转化为对应数组;join()可以连接数组为字符串。
添加 / 删除数组中的元素
push() -在数组末尾添加元素
pop() -删除并返回数组最后一个元素(数组为空时返回Undefined)
Null & Undefined
undefined 表示所有未赋值变量的默认值, null 表示一个变量不指向任何对象地址。
字符串
toString()和Number()可以实现字符串(都是数字)和数字相互转换,字符串可以使用+连接,使用string.length函数获取长度。
使用indexOf()判断指定字符串从指定下标(未指定则默认为0)开始是否包含某字符串:
javascript
string.indexOf(shortStr, startIndex);
可以使用slice(start, end)提取某字符串的子字符串(左闭右开),使用toLowerCase()和toUpperCase()转换大小写,使用replace()来替换字符串内容(只替换首次出现的匹配项)。
转换
转换成字符串
toString()方法;String()方法;拼接字符串。
转换成数值
Number(),不是数值返回NaN;parseInt(),parseFloat()把字符串转为整数、浮点数;减0操作(如果字符串不是数值,类型变成number,返回NaN).
转换成布尔类型
Boolean()函数;在流式控制语句中的隐式转换。