JS常用语法归纳(全)
一、JavaScript简介
JavaScript(简称“JS”)是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,JavaScript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。JavaScript是一门脚本语言,脚本语言的特征是:可以给网页添加一些动态效果。
1.1 JavaScript由三部分组成:ECMAScript、DOM、BOM
- ECMAScript:是由欧洲计算机协会,大概每年六月中旬定制语法规范
- DOM:即document object model,文档对象模型
- BOM:即browser object model,浏览器对象模型
二、JavaScript三种书写位置
2.1 行内式JS
- 可以将单行或少量JS代码写在HTML标签的事件属性中(以on开头),如:onclick
- 注意单双引号的使用:在HTML中我们推荐使用双引号,JS中我们推荐使用单引号
- 可读性差,在HTML中编写大量代码时,不方便阅读
- 引号易错,引号多层嵌套匹配时,非常容易弄混
- 特殊情况下使用
2.2 内嵌JS
alert('hello world!')
- 可以将多行代码写到标签中
- 内嵌JS是学习时常用的方式
2.3 外部JS文件
- 利用HTML页面代码结构化,把大段JS代码独立到HTML页面之外,既美观也方便文件级别的复用
- 引用外部JS文件的标签中间不可以写代码
- 适用于JS代码量比较大的情况
三、JS的注释
单行注释:// xxx 快捷键:ctrl + /
多行注释:/* xxx */ 快捷键:shift + alt + a
四、JS输入输出语句
- alert('警示内容') 浏览器弹出警示框
- console.log('打印输出内容') 浏览器控制台打印输出信息
- prompt('用户输入内容') 浏览器弹出输入框,用户可以输入
五、变量
5.1 变量的基本使用
variable 即变量、可变情况,变量可以理解为一个容器,容器中可以存放任意类型的字面量数值或者装载数学计算完的结果,可以通过访问变量名字获取到变量存储的结果 变量在使用的时候分为三步:声明、赋值和使用- 声明:我们在使用变量之前,要通过关键字var进行声明一次
- 赋值:可以将任意类型的字面量数值、数字计算完结果,赋值给变量
- 使用:通过访问变量名字,获取到变量存储结果
5.2 变量使用注意事项
- 声明一个变量但是不赋值,默认初始值为未定义类型值undefined
- 一个变量在声明一次后,可以进行多次赋值,后者赋值的数据会层叠前者赋值的数据
- 直接访问一个未声明的变量,会直接报错
5.3 其他声明方式
- 可以将第一步声明和第二步赋值合并在一起
- 一个关键字var可以同时声明多个变量,多个变量之间用逗号隔开
5.4 命名标识符规范
对变量、函数起名字的时候,必须遵守以下规则:
- 可以是数字、英文字母、下划线、美元符号$
- 不能以数字开头
- 不能是关键字、保留字
- 命名一般使用驼峰命名法
- 变量、函数的命名必须要有意义,变量的名称一般用名词,函数的名称一般用动词
5.5 变量声明提升
概述:各大浏览器的厂商都有属于自己的解析器。在翻译代码的时候,会将变量的声明部分提升至当前作用域的最上方。
解析器:解析器就是将代码翻译给浏览器,让浏览器知道写的是什么。
作用域:书写代码作用的范围。
六、数据类型的判断
概述:在JS中可以利用关键字typeof,检测任意类型的字面量或者变量存储的数据是什么类型。 JS把数据类型分为两类:- 简单数据类型(Number,String,Boolean,Undefined,Null)
- 复杂数据类型(Object)
6.1 Number
数字型,包含整型值和浮点型值,如21、0.21,默认值为0
6.2 String
字符串类型,如"张三",注意JS里面字符串都带引号,默认值""
6.3 Boolean
布尔值类型,如true、false,等价于1和0,默认值false
6.4 Undefined
var a; 声明了变量a但是没有给值,此时a=undefined,默认值undefined
6.5 Null
var a=null; 声明了变量a为空值,默认值null
七、数据类型的转换
7.1 数字型转换为字符串型
(1)在JS中,可以通过连字符(+)将数字类型的数据都转换为字符串
- 如果语句当中没有出现字符串,这个加号就是数学的加法,可以进行数学的加法运算
- 如果语句中出现了字符串,这个加号就不是数学的加法了,是所谓的连字符,可以将数据从左到右变成字符串
(2)使用 变量.toString() 的方法把数字型转换为字符串型
(3)使用 String(变量) 的方法把数字型转换为字符串型
7.2 字符串型转换为数字型
(1)在JS当中,可以通过 parseInt(变量) 和 parseFloat(变量) 将字符串转换为数字
- 内置函数 parseInt,可以将字符串中的数字形式字符串转换为数字(只能得到整数)
- 内置函数 parseFloat,可以将字符串中的数字形式字符串转换为数字(可以精确到小数部分)
- 二者使用的都是驼峰命名,即 I 和 F 必须大写,否则会报错
- 在进行转换时,从左到右转换,如果是数字形式的字符串,转换为数字,遇见了非数字形式的字符串,后面的数据就不进行转换了
- parselnt 和 parseFloat 的使用方法都是一模一样的,只是精确度不同
(2)使用 Number(变量) 的方法把字符串型转换为数字型
(3)利用算数运算符(- * /)
7.3 其他类型转换为布尔型
使用 Boolean(变量) 的方法将其他类型转换成布尔型:
- 代表空、否定的值会被转换为false,如 ' '、0、NaN、null、undefined
- 其余值都会被转换成true
八、运算符
8.1 算数运算符
概述:算数运算符就是加、减、乘、除、取余数(%),但在JS中除了number之外的类型数据也可以参与数学运算,只不过浏览器中的解析器会自动的将其他类型的数据“隐式转换”为数字来参加数学运算。
- Infinity(无穷)参与运算的加减乘除结果都是 Infinity,取余数得到的是 NaN(不是一个数字),算不出来
- NaN(不是一个数字)参与数学运算,其结果都是 NaN
- 布尔类型的值,ture 转换成 1,false 转换成 0
- Undefined(未定义型)会转换成 NaN
- Null(空对象)会转换成 0
- ''(空字符串型)会转换成 0
- '123'(纯数字字符串型)会转换成对应的数字
- '非纯数字的字符串'(非纯数字的字符串型)会转换为 NaN
8.2 递增和递减运算符
前置递增运算符:++变量,先+1,后返回值
前置递减运算符:--变量
后置递增运算符:变量++,先原值返回,后+1
后置递减运算符:变量--
8.3 比较运算符
概述:JS中的比较运算符:>、=、、>=、