JavaScript的基础知识

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、通过documentcreateElement方法创建并通过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() 用新的文档替换当前文档。
注意:
assignreplace的区别?
assign只是在当前窗口中打开新的网址,所以可以后退
replace将当前显示的网页的内容替换为新的内容
11.4Navigator获取浏览器信息
常用属性:
appName 返回浏览器的名称。
appVersion 返回浏览器的平台和版本信息。

JS重点:
1、函数
2、事件
3、对象
4、DOM

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值