一. 初识JavaScript
JavaScript简称JS,是一个脚本语言,通过解释器运行,主要在客户端(浏览器)运行,现在也可以基于node.js在服务端运行
JavaScript能做的事情:
网页开发(复杂的特效和用户交互) 网页游戏开发 服务器开发(基于node.js) 桌面程序开发(如VSCode) 手机app开发 JavaScript与HTML和CSS之间的联系:
HTML:网页的结构(骨架) CSS:网页的样式(皮) JavaScript:网页的功能(魂)
JavaScript的组成:
ECMAScript:JavaScript语法 DOM:页面文档对象模型,对页面的元素进行操作 BOM:浏览器对象模型,对浏览器窗口进行操作
JavaScript 具有以下特点:
- 解释型脚本语言 JavaScript 是一种解释型脚本语言,与 C、C++ 等语言需要先编译再运行不同,使用 JavaScript 编写的代码不需要编译,可以直接运行。
- 面向对象 JavaScript 是一种面向对象语言,使用 JavaScript 不仅可以创建对象,也能操作使用已有的对象。
- 弱类型 JavaScript 是一种弱类型的编程语言,对使用的数据类型没有严格的要求,例如您可以将一个变量初始化为任意类型,也可以随时改变这个变量的类型。
- 动态性 JavaScript 是一种采用事件驱动的脚本语言,它不需要借助 Web 服务器就可以对用户的输入做出响应,例如我们在访问一个网页时,通过鼠标在网页中进行点击或滚动窗口时,通过 JavaScript 可以直接对这些事件做出响应。
- 跨平台 JavaScript 不依赖操作系统,在浏览器中就可以运行。因此一个 JavaScript 脚本在编写完成后可以在任意系统上运行,只需要系统上的浏览器支持 JavaScript 即可。
二. JavaScript的书写格式
- 行内式: 直接嵌入到html元素内部
<input type="button" value="按钮" onclick="alert('HELLO')">
- 内嵌式: 写到script标签中
<script>
alert("哈哈");
</script>
- 外部式: 写到单独的.js文件中
<script src="hello.js"></script>
alert("hello word!");
三. JavaScript的基础语法
1. 变量的用法
创建变量:
<script> var a = 10; var name = "张三"; let flag = true; </script>
使用变量:
<script>
var a = 10;
var name = "张三";
let flag = true;
a = 20; //修改变量的值
console.log(name); //控制台打印变量
</script>
2. 基本数据类型
JS不区分整数和浮点数,统一用数字类型来表示
可以用不同的进制表示:
var a = 10; //十进制 var b = 07; //八进制,以0开头 var c = 0xa; //十六进制,以0x开头 var d = 0b10;//二进制,以0b开头
特殊的数字值: Infinity:无穷大,大于任何数字,表示数字已经超过了JS能表示的范围 -Infinity:负无穷大,小于任何数字。表示数字已经低于了JS能表示的范围 NaN:表示当前的结果不是一个数字
var max = Number.MAX_VALUE; console.log(max2); //得到Infinity console.log(-max2);//得到-Infinity console.log("haha"-10);//得到NaN
String字符串类型
字符串字面量需要用单引号或者双引号引起来
var a = "aaa"; var b = 'bbb'; var c = ccc; //运行出错
Boolean布尔类型
表示真true或假false,参与运算时当作1和0
var a = true; var b = false; console.log(2+a+b);
undefined未定义的数据类型
如果一个变量没有被初始化,就是undefined类型,结果也是undefined
var a; console.log(a);//undefined
null空值类型
null表示当前变量为一个“空值”
var a = null; console.log(a+10); //10 console.log(a+"haha"); //nullhaha