1、JS是什么?
JavaScript:脚本语言,运行浏览器
让HTML进行交互
JAVA和JS没任何关系
2、JS的作用是什么?
2.1、获取和设置HTML元素
2.2、动态改变页面
2.3、校验、检测、对事件做出响应等
2.4、获取浏览器、Cookie
等信息
3、JS的引用方式?
3.1、在<body>
引用
eg:
<body>
<script type="text/javascript">
</script>
</body>
3.2、在<head>
引用
<head>
<script type="text/javascript">
</script>
</head>
3.3、引用外部js文件
<script type="text/javascript" src="js文件路径"/>
js写在head和body的区别?
head中,获取不到HTML元素,因为此时HTML还未加载完成(函数外)
body中,可以获取HTML元素
4、JS的数据类型
java
的数据类型:
1、基本数据类型:byte short int long float double char boolean
2、引用数据类型:数组、枚举、类、集合、接口
等
JS
的数据类型:
1、原始数据类型
Undefined 、number、boolean、string、NULL
原始就是声明之后直接赋值而不通过new来创建
var v=12;
var v=true;
var v="aaa";
2、引用数据类型
Number\Boolean\String\
内置类型
就是通过new 创建的额类型都属于引用类型
js中的typeof&instanceof
区别?
typeof:主要用来显示原始类型,如果显示引用类型无论什么类型都为Object
格式:typeof 变量名称
instanceof:主要用来验证引用类型,返回值为boolean类型
格式: 变量名称 instanceof 引用数据类型 返回true或flase
5、JS的基本语法
JS的语法规则:
1、区分大小写
2、变量可以声明也可以不声明
3、出现在<script>
标签内部或js文件中
4、定义函数需要使用关键字function
5、函数可以有参数和返回值
6、JS内置了很多对象可以直接使用
1、变量
格式:var 变量名称[=值]
js的变量可以不声明直接使用
var v;
v=12;
t=11;
变量命名规则:
1、变量对大小写敏感(y 和 Y 是两个不同的变量)
2、变量必须以字母或下划线开始
3、不能是关键字
JS中的变量
全局变量:声明在函数外的变量或者是函数内不带var的变量
局部变量:声明在函数内的变量且带有var,作用域在函数内部
变量如果在函数内部不使用var进行声明,那么默认为全局变量
如果使用var进行声明那么就属于局部变量
2、运算符
2、js也支持三目运算符 X?Y:Z
程序结构:
1、顺序结构
2、分支结构
3、循环结构
3、分支语句
1、if(条件)
2、switch
4、循环
4.1for
语句
格式:for(表达式1;表达式2;表达式3)
{循环体}
执行过程:
先执行表达式1再验证表达式2true则执行循环体接着执行表达式3再执行表达式2true继续false结束
4.2while
语句
格式:
while(表达式)
{
循环体;
}
4.3do/while
语句
格式:
do{
循环体;
}while(表达式);
6、JS的消息框
js主要提供了三种消息框
6.1、普通警告框
alert("内容");
6.2、确认框
confirm("内容")
会返回一个boolean值,如果点击"确定"返回true,反之false
6.3、提示框
prompt("提示内容","默认值");
会返回提示框中的输入框的内容
7、JS函数
也就是java中的方法
提高代码的复用
格式:
function 函数名称([参数名]) {
//代码块
[return 返回值]
}
8、JS事件
就是HTML的事件属性
事件属性的值一般都是JS函数
常用事件:
onclick
单击
ondblclick
双击
onkeydown
:键盘键按下
onmouseout
鼠标移出
onmouseover
鼠标进入
onblur
失去焦点
onfocus
获取焦点
onchange
内容变化
onselect
选择
onsubmit
提交-表单
onload
加载完
9、JS常用对象
JS是面向对象
的编程语言
9.1Date日期类
获取浏览器的时间(本地电脑的时间)
常用方法:
getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。
getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。
getMonth() 从 Date 对象返回月份 (0 ~ 11)。
getFullYear() 从 Date 对象以四位数字返回年份。
getYear() 请使用 getFullYear() 方法代替。
getHours() 返回 Date 对象的小时 (0 ~ 23)。
getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。
getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。
getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。
JS中的定时器:
1、setTimeout
:设置延迟执行的方法和延迟时间
参数说明:
1、要重复执行的方法
2、延迟的时间,毫秒
返回值:
1、当前定时器的标记(为了停止)
2、clearTimeout
:停止重复执行的方法
参数说明:
1、定时器开始的标记
重复间隔执行方法、计时器、定时刷新等
9.2Number
数字
原始类型数字对应的引用类型
常用方法:
valueOf
返回一个 Number
对象的基本数字值。
toFixed
把数字转换为字符串,结果的小数点后有指定位数的数字。
toString
把数字转换为字符串,使用指定的基数。
9.3Math
算术运算类
常用的算术运算
常用方法:
abs(x)
返回数的绝对值。
floor(x)
对数进行下舍入。
pow(x,y)
返回 x 的 y 次幂。
random()
返回 0 ~ 1 之间的随机数。
round(x)
把数四舍五入为最接近的整数。
9.4String
字符串类
常用的字符串的引用类型
常用属性:
length
字符串的长度
常用方法:
charAt()
返回在指定位置的字符。
charCodeAt()
返回在指定的位置的字符的 Unicode 编码。
concat()
连接字符串。
substr()
从起始索引号提取字符串中指定数目的字符。
substring()
提取字符串中两个指定的索引号之间的字符。
toLowerCase()
把字符串转换为小写。
toUpperCase()
把字符串转换为大写。
split() 把字符串分割为字符串数组。
indexOf()
检索字符串。
lastIndexOf()
从后向前搜索字符串。
match()
找到一个或多个正在表达式的匹配。
replace()
替换与正则表达式匹配的子串。
search()
检索与正则表达式相匹配的值。
String的substr()和substring的区别?
在截取的起始索引都为正数或0的话,没有区别
如果截取的开始索引为负数,那么substr从要截取的字符串.length+负数索引处开始
而substring则把负数作为0处理
简而言之:substr负数的话倒着截取,substring从0截取
9.5Array数组类
存储多个变量的引用类型,且长度可变
9.1数组的使用:
9.1.1、创建数组对象三种方式:
new Array();
new Array(长度);
new Array(元素);
9.2常用属性
length
:获取数组的长度
9.3常用方法
concat()
连接两个或更多的数组,并返回结果。 1 4
join()
把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。 1 4
pop()
删除并返回数组的最后一个元素 1 5.5
push()
向数组的末尾添加一个或更多元素,并返回新的长度。 1 5.5
reverse()
颠倒数组中元素的顺序。 1 4
shift()
删除并返回数组的第一个元素 1 5.5
slice()
从某个已有的数组返回选定的元素 1 4
sort()
对数组的元素进行排序
splice()
删除元素,并向数组添加新元素。
注意:
1、java中的数组和JS中数组不一样
2、JS中数组的sort
方法按照字母的升序进行排列,如果是数字进行排序需要定义排序函数(2个参数)
3、slice方法,
参数说明:
第一个参数:指定索引,删除和新增的索引
第二个参数:删除的元素个数 可以为0
第三个参数:新增的元素内容,可以有多个
9.6Regexp
正则类
校验、匹配、替换等字符串的操作
JS中的正则语法:/正则语法/属性
9.6.1正则中的语法
9.6.1.1:正则语法
跟java中一样
. + * ? [] {} \d \D \w \D \b \B等
9.6.1.2:正则属性
i 执行对大小写不敏感的匹配。
g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m 执行多行匹配。
9.6.2正则类的常用方法
1、exec
:执行正则验证,返回匹配的内容,字符串索引停留在最后一次匹配的索引处
2、test
:执行正则验证,返回true(验证成功)或flase
9.6.3String
类中支持正则验证的方法
1、match
:匹配,支持全局匹配(可以返回匹配到的所有的内容)
2、search
:查找,从前往后查找是否符合正则的内容(不支持全局,第一次出现的)
3、replace
:替换,参数说明:第一个参数:字符串或正则表达式,第二个参数:字符串、规定的符合、函数
4、split
:切割
10、JS的全局函数
可以在任何一个网页中直接使用
常用函数:
isNaN()
检查某个值是否是数字。 1 3
Number()
把对象的值转换为数字。 1
parseFloat()
解析一个字符串并返回一个浮点数。 1 3
parseInt()
解析一个字符串并返回一个整数。 1 3
String()
把对象的值转换为字符串。
encodeURI()
把字符串编码为 URI。
decodeURI()
解码某个编码的 URI。
10、JS的DOM
Document
:文档
通过DOM可以获取并操作HTML的元素
10.1DOM获取HTML标签对象的方式
10.1.1:通过ID
返回的是一个HTML元素对象
document.getElementById("id值");
10.1.2:通过name
返回的是网页网页中所有此name值的HTML元素数组
document.getElementsByName("name值");
10.1.3:通过HTML标签名称
返回的是网页中所有此标签的元素数组
document.getElementsByTagName("name值");
10.2DOM
创建HTML
元素
10.2.1、通过元素的innerHTML
属性添加
10.2.2、通过document
的createElement
方法创建并通过appenChild
添加到指定元素下
方法说明:
1、createElement
:创建元素,参数说明:1、元素名称
2、appenChild
:添加子元素,参数说明:1、要添加的子元素的对象
10.3DOM
设置HTML
属性
1、通过对象的style
类设置
2、通过对象的setAttribute
设置
setAttribute方法说明
参数:
1、属性名称
2、属性的值
11、JS之BOM
浏览器对象,操作浏览器
Window、History 、Location
11.1Window窗口
1、open方法,创建或打开新的窗口
open(URL,name,features,replace):
参数说明:
1、要打开的url
2、名称,标记窗口
3、窗口特征属性,常用的值:width\height\left\top
等
4、替换,boolean
类型,true
:在当前窗口打开,false
新建一个窗口
11.2History浏览器的历史记录
常用属性:length:历史记录的数量
常用方法:
back()
加载 history
列表中的前一个 URL。
forward()
加载 history
列表中的下一个 URL。
go() 加载 history 列表中的某个具体页面。 需要参数:要打开的历史记录的网页
11.3Location网址信息
常用方法:
1、assign()
加载新的文档。
2、reload()
重新加载当前文档。
3、replace()
用新的文档替换当前文档。
注意:
assign
和replace
的区别?
assign
只是在当前窗口中打开新的网址,所以可以后退
replace
将当前显示的网页的内容替换为新的内容
11.4Navigator
获取浏览器信息
常用属性:
appName
返回浏览器的名称。
appVersion
返回浏览器的平台和版本信息。
JS重点:
1、函数
2、事件
3、对象
4、DOM