文章目录
前言
JavaScript是一种脚本语言,可以直接嵌入HTML页面之中,当用户在浏览器中浏览该页面时浏览器会解释并执行其中的JavaScript脚本,可以使页面更加丰富多彩。HTML: 网页的结构(骨)、CSS: 网页的表现(皮)、JavaScript: 网页的行为(魂)。
一、JavaScript简介
- JavaScript是一种通用的、跨平台的、基于对象和事件驱动并且具有安全性的客户端脚本语言。
- 解释性:
JavaScript是一种解释性语言,它不需要编译,可以直接被浏览器解释并执行。所以只有运行时错误,即使是语法错误。 要查看js报错,需要从控制台上查看。 - 弱数据类型:
定义变量时,无须指定变量的类型,浏览器会根据变量的取值情况确定变量的类型。一个变量可以赋予不同类型的数据,变量的类型会随着它的值的改变而改变。 - 跨平台:
与操作系统无关,只要提供支持JavaScript的浏览器,就可以解释并执行这个脚本。 - 基于对象:
它提供了一系列的内置对象,用户可以根据需要来创建对象,通过调用对象的方法和属性来实现页面的某些特效。 - 基于事件驱动:
事件驱动:在页面执行某种操作时而产生的动作。比如单击鼠标时,浏览器可以根据该操作进行响应。
二、JavaScript使用形式
1、 关联在HTML中执行
- 内部方式管理< script>js语句< script> 。
- 外部方式引入< script src=“js资源的url”>< /script> 。比较推荐
在学习简单的js时,可以直接打开在浏览器的开发者(鼠标右击,选择检查)的控制台(console)中编写js语句。每一行都独立执行。 - console.log()在控制台打印一条日志。
- console.error()在控制台打印一条错误日志。
- 使用%c可以把样式加上。
三、基本语法
1、标识符
- 就是用来命名变量、函数或者循环中的标签。在JavaScript中,标识符的命名规则与Java基本相同。
- 字母 下划线 数字 $ 组成;
- 但是不能以数字开头;$、_ 可以开头,但规范上不建议;
- 变量名大小写是不同的,推荐使用小写形式或驼峰命名法;
- 不能与JavaScript中的关键字相同。
2、关键字
- 是指JavaScript中预先定义的、有特别意义的标识符。例如false、var等等。
3、数据类型
- 变量的类型可以改变,但是某一时刻的类型是确定的。
- 常见的数据类型:
数据类型 | 描述 |
---|---|
String | 字符串是由 ''或者""引起来的0~n个字符 |
Boolean | 包括true和false的值 |
Null | 表明某个变量的值为null |
Undefined | 变量未初始化时,默认值就是undefined |
Array | 一些列变量/函数的集合,存放的类型可以相同可以不同 |
Number | 数值类型可以是32位的整数,可以是64位的浮点数。整数可以是十进制、八进制、十六进制等形式。 |
Function | 是一种特殊的对象数据类型,可以被存储在变量、数组或者对象中,可以作为参数传给其他函数 |
Object | 通过方法和属性定义的软件对象。常见对象有String、Date、Math、Array等 |
- Number类型:-infinity 负无穷,infinity 正无穷,Nan(Not a Number)不是一数字。
- 模板字符串:使用反引号(tab上面的键),例如下面的例子,类似于String.format(“hello %s”, a),所表现的是一样的。
- undefined、null不同,都是针对一种不存在的抽象,但是undefined是未定义,null是空。
4、变量
- 只有一种(引用类型)。
- 在JavaScript中,变量的使用相对比较灵活。
- 在变量使用之前,可以不定义,直接使用。
- 在定义变量时,不用指定变量的数据类型;当对变量赋值时,它的数据类型会根据所赋值的类型进行确认。
变量的定义
- 语法格式:var 变量1;
- var是定义变量的关键字;
- 多个变量可以一起定义,变量名之间可以使用逗号隔开;
- 变量可以在定义时赋值,也可以先定义再赋值;
- 在JavaScript中,变量也可以不用定义,直接使用,但是未定义变量直接使用时,会抛出undefined错误,所以建议先定义再使用。
注意
- JavaScript中的变量是区分大小写的,例如name、Name、NAME代表三个不同的变量。
- JavaScript脚本嵌入在HTML中,而HTML代码不区分大小写,很容易忽视这一点,所以建议同意使用小写或者驼峰命名法来定义变量。
变量的类型
- 由于JavaScript中的变量是弱数据类型,在声明变量时不需要定义变量的数据类型,而是通过var关键字进行声明的。
- 在变量的使用过程中,变量的类型可以改变,类型由所赋值的类型来确定。数据有类型,变量无类型。
- 通过typeof运算符或者typeof()来获得变量的当前数据类型,例如:
变量的作用域
- 未定义的变量直接赋值时,浏览器会将变量定义为全局变量。
- 在使用全局变量时,尽量采用显示方式定义,避免出现误解/错误的情况。
5、注释
单行注释 //
多行注释 /* */
四、运算符
- JavaScript的运算符与Java语言非常相似,所以这里主要介绍不同点。
1、赋值运算符
- 可以在定义变量时赋值,也可以在定义变量后赋值,还可以同时对多各变量连续赋值。
2、比较运算符
- == 和 ===
- ==支持类型转换,只要前后两个变量的值相同就返回true。
- ===是严格等于,严格相等判断,必须要求两个变量的智翔通,且数据类型一致才返回true。一般建议使用。
- != 和!==
- 与上面的相同意思,可以自行体会。
五、if条件语句
什么样的条件才是真?
当值为true、不是0、非空字符串(包含"false"字符串)、非null、不是undefined 都执行对的程序部分。
var a =