JavaScript
- html负责搭建页面结构和内容
- css负责美化页面
- JavaScript给页面添加动态效果和动态内容
和Java语言没什么关系,只是为了蹭热度
引入方式:
1. 内联:
在标签的事件属性中添加js代码,当事件触发时执行js代码
2. 内部:
在html页面中添加script标签,在标签体内添加js代码,当页面加载时执行js代码。
3. 外部:
在单独的js文件中写js代码,通过script的src属性引入。
JS语言特点:
- 属于脚本语言,不需要编译,直接由浏览器解析执行
- 基于面向对象
- 属于弱类型语言
- 具有良好的交互性和安全性(js语言只能访问浏览器内部的数据)
JS语法
- 变量声明和赋值 数据类型 运算符 语句 方法声明 String 数组等
数据类型
- js中只有对象类型
- 常见的对象类型有:
- 数值类型: number
- 字符串类型:string java:String s=“abc”; > js: var s=“abc”;
- 布尔值类型:boolean var b = true/false;
- 未定义类型:undefined > 当变量只声明 不赋值的时候 该变量为未定义类型
- 自定义对象类型:object
变量声明和赋值
- js语言属于弱类型语言
var x = 10; x = “abc”;
var s = “abc”/‘abc’;
var b = true/false;
var p = new Person();
运算符 + - * / % > < >= <= = == !=
1. == 和===,== 先统一类型再比较值。 ===先比较类型,如果类型相等后再比较值
"66"===66
2. 除法运算会自动转换整数和小数
-java:
int x = 5;
int y = 2;
x/y = 2
-js:
var x = 5;
var y = 2;
x/y = 2.5;
var x = 6;
var y = 2;
x/y = 3;
3. typeof 获取变量的类型
typeof 18 "number"
typeof 66 + 6 = "number6"
语句 if else while do while for switch case
- if和while括号里面的内容,如果不是布尔值 会自动转成布尔值
数值:0转false 其它true
字符串: ""转false 其它true
未定义: undefined转false
if(18){
alert("aaa");
}else{
alert("bbb");
}
for循环中的int i改成var i
方法声明
- java:public void 方法名(参数列表){方法体}
- js: function 方法名(参数列表){方法体}
- 声明常见的四种方法:
1. 无参无返回值
2. 无参有返回值
3. 有参无返回值
4. 有参有返回值
- JS方法声明的三种方式:
1. function 方法名(参数列表){方法体}
2. var 方法名 = function(参数列表){方法体}
3. var 方法名 = new Function("参数1","参数2","方法体");
NaN
- Not a Number 不是一个数
- isNaN(变量) 返回值true/false
和页面相关的知识点
1. 通过标签的id 可以直接访问页面的标签
2. 文本框.value 可以获取文本框的文本内容
3. 标签.innerText 给标签添加文本内容
4. 标签.innerHTML 给标签添加html内容
定时器
1. 开启定时器
var timer = setInterval(方法,时间间隔);
2. 关闭定时器
clearInterval(timer);
3. 只执行一次的定时器
setTimeout(方法,时间间隔);
JavaScript对象分类
1. JS内置对象 包括:String number boolean ....
2. BOM 浏览器对象模型(浏览器相关对象)
3. DOM 文档对象模型(页面相关对象)
BOM
- Browser浏览器 Object对象 Model模型, 浏览器相关的内容在BOM这一类中
- window对象
在window对象中的方法和属性称为全局方法和全局属性,调用时可以省略window.
Window中常见的方法
在window对象中的方法和属性称为全局方法和全局属性, 调用时
window.alert() 提示框 / window.confirm 确认框/ prompt() 弹出文本框
window.isNaN
window.parseInt()/parseFloat() “3.14”
1. location位置
location.href 获取和修改浏览器的请求地址
2. history历史
history.length 得到历史页面数量
history.back() 返回上一页面
history.forward() 前往下一页面
history.go(n) n正值为前进, n负值为后退, 0是刷新
3.screen屏幕
screen.width/height 屏幕宽/高
screen.availWidth/Height 可用宽/高
4.navigator
navigator.userAgent : (获取浏览器的版本信息)
Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/75.0.3770.100 Safari/537.36