JavaScript
一、JavaScript简介
1. 什么是JavaScript?
JavaScript简称JS,由网景分公司开发的客户端
脚本语言,不需要编译,可以直接执行
补充:
机器语言(0,1代码)-----汇编语言(助记符)------高级语言( ① 解释 ②编译)
高级语言---->编译obj目标程序文件---->连接link.exe可执行性文件
解释:
WEB前端三层:
- 结构层HTML,定义页面的结构
- 样式层CSS,定义页面的样式
- 行为层JavaScript,用来实现交互,提升用户体验
2. JavaScript作用
- 在客户端动态的操作页面
- 在客户端数据的校验
- 在客户端发送异步请求
二、引用方式
1. 内联方式
在页面中使用script标签,在script标签的标签中编写js代码
<script>
js代码;
</script>
2. 行内方式
在普通的标签中编写js代码,一般需要结合事件
属性,如onclick、onmouseover等
对象:客观存在的,并且可以相互区别的事物----如:各种标签
eg:对象:
- 外观-----宽度、高度,背景色----CSS
- 事件------
多态性
同一个事件发生的对象不同,所引发的反应也不同
3. 外部方式
使用单独的.js
文件定义,然后在页面中使用script标签引入外部脚本文件
<script type="text/javascript" src="/js/hello.js"></script>
注意:如果某个script标签用于引入外部的js
文件,则该script标签的标签中不能再写js代码
三、基本用法
1. 变量
js是一门弱类型的语言,声明变量时使用var关键字,不需要指定变量的类型
语法:var 变量名=常数或表达式;
注意:
1. 由字母,数字,汉字,下划组成
2. 由字母,汉字,下划线开头
3. 不能和保留字同名
4. 大小写敏感
回忆:
数据类型:常量和变量
常量:具体的值,不变的量----常数项
变量:变化的量,存放常量的是—容器
int a,b,c; //变量在使用前必须强制进行定义或声名
a= 10;//将整型常量10放到整型变量a
b= 20;
c= a + b;//将a+b的和赋值给整型变量c
print("c=%d",c)
在ECMAScript 6规范中新增let关键字,也用于声明变量
使用let声明的变量支持模块级作用域,而使用var声明的变量不支持模块级作用域
注:在IDEA中配置ES版本settings–>Language&FrameWorks–>JavaScript–>JavaScript Version
2. 输入和输出
输出:
- alert() 弹出警告框
- console.log() 输出到浏览器的控制台
- document.write() 输出到页面
输入:
-
prompt() 弹出一个输入框,获取用户输入的数据
使用
typeof 变量名
判断变量的类型使用
Number(变量名)
将字符串转换为数值
3. 转义字符
常用转义字符
\n
换行\t
制表位,缩进\"
双引号\'
单引号\a
响铃,警告
4. 注释
单行注释://
多行注释:/* */
5. 编码规范
代码区分大小写
每条语句以分号结尾
代码缩进
四、核心语法
1. 数据类型
常量:具体的值 eg:‘abc’ ‘20’ 3.14 100
变量:存放常量的量—容器
基础数据的类型:
- string字符串
- number 数值(NaN表示非数字Not a Number,其自身是number类型,表示数值是不正常状态)
- boolean布尔
- null空类型
- undefined未定义类型
数据类型转换:
-
转换为number
使用Number()、parselnt()、parsFloat()
-
转换为string
拼接空字符串
-
转换为布尔
使用Boolean()
注意:0、空字符串、undefined、null、NaN会被转换为逻辑假false,其他的类型在转换为布尔时,转换为true
2. 运算符
算术运算符:+、-、*、/、%、**、++、–
比较运算符:>、>=、<、<=、==、= = =、!=
赋值运算符:=、+=、-=、*=、/=、%=、**=
逻辑运算符:&&并且、||或、!非
条件运算符:条件?表达式1:表达式2
3. 选择结构
if…else、switch
4. 循环结构
while、do…while、for、for…in
break、continue
break:退出整个循环
continue:结束本次循环,返回到条件判断处继续进行下一次是否执行循环的条件判断
/*
for...in...对集合进行遍历
*/
var str = 'welcome to JavaScript';
for(var s in str)
// console.log(s);//输出字符串的索引或下标
console.log([s]);
5.数组
5.1 定义方式
语法
var arr = new Array();
var arr = new Array(值1,值2,.....);
var arr = [值1,值2,.....]
注意:
- 数组长度会自动扩展
- 数组中元素的默认值为undefined
- 使用数组的length属性可以获得数组的长度(数组中有多少个元素)
5.2 常用方法
方法 | 描述 |
---|---|
sort() | 排序,默认按字符编码的顺序排列,非string类型会自动转换为string,可自定义比较规则 |
reverse() | 反转,将数组元素倒序排列 |
join(separator) | 将数组中元素使用指定的分隔符链接成字符串ÿ |