JavaScript 基础&DOM
目录
a) dom:document object model 文档对象模型:... 5
一、 JavaScript的String对象
1.1 创建String对象
a) Var str = new String()
1.2 方法和属性
b) 参考javaScript文档中的内容。
i. 属性:length 字符床的长度
ii. 与html相关的方法。
方法名 | 效果 | 备注 |
bold() | 加粗,对象.bold()。 |
|
Fontcolor() | 设置字体的颜色。 |
|
fontsize() | 设置字体的大小。 |
|
link() | 将字符串显示成超链接 |
|
sub() | 上标 |
|
sup() | 下标 |
|
iii. 与java相似的方法。
方法名 | 效果 | 备注 |
concat() | 连接字符串 |
|
charAt() | 返回指定位置的字符串 | 超过下标返回空字符串 |
indexOf() | 返回查询字符的起始下标 | 不存在返回-1 |
spilt() | 切分字符串,返回数组 |
|
replace() | 将原始替换为指定值 | 参数(待替换,替换) |
substring() | 在字符串中截取字符串 | 参数:(indexnum1,length) |
二、 JavaScript的Array对象
2.1 创建数组
三种创建方式:vararr1 = [1,2,3]
var arr2 = new Array(3)
var arr3 = new Array(3,4,5)
2.2 数组属性和方法
1、 属性:length 数组长度
2、 方法:
方法名 | 效果 | 备注 |
concat() | 实现两个数组的连接 |
|
join() | 根据指令字符将数组分割 |
|
push() | 向数组的末尾添加元素,并且返回数组长度 | 添加的是一个数组,会把这个数组当作一个字符串将之添加进去。 |
pop() | 删除并且返回最后-一个元素 |
|
reverse() | 将数组翻转 |
|
三、 JavaScript的Data对象
3.1 在java中使用
Datedate = new Date();
//格式化
方法:toLocaleString();将格式转换成当前格式
3.2 JavaScript中获取当前时间
方法名 | 效果 | 备注 |
toLocalString() | 转换成习惯的格式 |
|
getFullYear() | 得到当前年份 | 4位数字 |
getMoth() | 得到当前月份 | 得到当前的月,返回的是0-11月 |
getDay() | 获取当前的星期 | 星期日用0表示 |
getDate() | 得到当前的天 |
|
getHours(0 | 获取当前的小时 |
|
getMinutes() | 获取当前的分钟 |
|
getSeconds() | 获取当前的秒钟 |
|
getTime() | 获取毫秒数 |
|
四、 JavaScript的Math
数学运算类,Math中的类全部都是静态方法,可以直接使用:Math.方法()
方法名 | 效果 | 备注 |
ceil(x) | 向上取整 |
|
floor(x) | 向下取整 |
|
round(x) | 四舍五入 |
|
random() | 产生0-1的随机数 |
|
pow(x,y) | X^Y |
|
五、 JavaScript的全局函数
不属于任何一个对象,直接写名称使用。
方法名 | 效果 | 备注 |
eval(string) | 执行js代码 | 执行js的字符串命令 |
encodeURL() | 对字符进行编码 | 对一些字符进行编码,例如中文 |
decodeURL() | 对字符进行解码 |
|
isNaN() | 判断当前的字符串是否是数字 | 返回值是false(是数字)或者true(不是数字) |
parseInt() | 类型转换 | parseInt(“123”)+1 |
六、 JavaScript中不存在函数重载
JAVA中函数重载的定义:
一个类中具有相同名称的方法,但是有不同的参数名称。
JavaScript:不存在重载。
可以通过其他方式模拟重载。
方式:通过arguments是存放参数的数组,通过判断数组的长度进行不同的函数操作,类似于达到了函数重载的效果。
七、 JavaScript bom浏览器对象模型
7.1 navigator
获取浏览器的一些信息。客户机的信息。
属性名 | 效果 | 备注 |
appName | 获取浏览器的名称 |
|
|
|
|
7.2 screen
获取屏幕信息。
属性名 | 效果 | 备注 |
weidth | 得到屏幕宽 |
|
Height | 得到屏幕高 |
|
7.3 location
请求url地址。
href属性:获取到请求的url地址,设置url地址。
属性名 | 效果 | 备注 |
href | 获取请求的url地址 |
|
href=’url” | 设置url地址 | 能够跳转到设置的url处 |
7.4 history
用户请求的url的历史记录。
方法 | 效果 | 备注 |
back() | 返回上一个页面 |
|
Forward() | 下一个页面 |
|
go(num) | 到当前页面的第num页面 |
|
7.5 window
窗口对象,顶层对象(所有的bom对象都是在窗口对象中进行操作的。)。
方法 | 效果 | 备注 |
alert() | 弹出一个消息框,显示内容 |
|
confirm() | 弹出一个确认提示框 | 返回true或者false |
prompt(“文本”,“默认”) | 弹出输入框 |
|
open(url,name,features) | 打开一个新的窗口 | 弹出一个窗口, |
close() | 关闭一个窗口 | 浏览器兼容器比较差 |
setInterval(js代码,时间) | 每隔设定时间段执行一次js代码 | 做定时器来使用 |
setTimeout(js代码,时间) | 在指定的毫秒数以后调用js,只执行一次。 |
|
clearInterval(id1) | 清楚setInterval的定时器 | Id1是创建setInterval对象返回的代号 |
clearTimeout(id2) | 清除setTimeout设置的定时器 | Id1是创建setTimeoutl对象返回的代号 |
属性 | 描述 |
|
Opener | 获得创建此窗口的窗口 |
|
八、 JavaScript dom 文档对象模型
a) dom:documentobject model 文档对象模型:
a) 文档:超文本标记文档。
b) 对象:提供了属性和方法。
c) 模型:使用属性和方法操纵超文本标记文档。
d) 可以使用js中提供的dom对象,使用dom中的属性和方法,对我的标记型文档进行操作。
8.2 对标记型文档进行操作
1、 首先需要对我的标记型文档中的所有内容都封装成对象。
2、 需要把html里面的标签、属性、文本内容都封装成对象。
3、 想要对标记型文档进行操作,解析标记型文档。
a) 分析如何使用dom解析html文档。
i. 根据html在内存中分配一个树形的内存结构。
ii. Document:整个html文档。
iii. 标签对象 element对象。
iv. 属性对象
v. 文本对象
vi. 节点对象:node,节点对象是上述对象的父对象。
8.3 Dom常用方法:
8.4 Dom的三种模型
三个阶段:
1、 将html文档封装成对象
2、 在level1.1的基础上添加新的功能,例如:事件和css样式。
3、 支持xml1.0的一些新特性。
8.5 DHTML介绍:
1、DHTML很多技术的简称:
1、 HTML:封装数据
2、 CSS:使用属性属性值设置样式
3、 DOM:操作html文档
4、 javaScript:专门指的是javascript的语法语句,ECMAScript。
2、BOM 和HTML DOM关系图
8.6 Document对象:
常用方法:
方法 | 效果 | 备注 |
Wirte() | 1、 向页面输出值, 2、 向页面输出html代码 |
|
getElementById(id) | 通过id得到元素(标签) | 传递的参数是标签里面的id值 |
getElementsByName(“name的属性名称”) | 通过标签的name的属性值,得到标签,返回的一个集合. | 根据Name,返回集合 |
getElementsByTagName(“标签名称”) | 通过标签名,得到标签,返回一个集合。 | 根据标签名,返回集合 |
九、 Window弹窗案例
实际开发中我们不能够让客户端访问我们本地的文件,因此我们需要在服务器端建立相应的响应机制。
1、 实现过程
a) 创建一个页面
i. 有两个输入项和一个按钮。
ii. 按钮上有一个事件:弹出一个新窗口。
b) 创建弹出的页面
i. 表格
ii. 表格的每一行有一个按钮,编号和姓名
iii. 按钮上有一个事件,把当前的编号和姓名复制到第一个页面相应的位置。
//windowDemo1:
<html>
<head>
</head>
<body>
编号:<inputtype = "text" id = "numid"/><br/>
姓名:<inputtype = "text" id = "nameid"/><br/>
<inputtype = "button" value = "选择" onclick ="open1()" />
<script type ="text/javascript">
function open1(){
//open方法
window.open("win2.html","text","width= 200,height = 100");
}
</script>
</body>
</html>
//win2.html
<html>
<head>
</head>
<body>
<inputtype = "button" value="选择" onclick = "s1()"/>
<script>
functions1(){
alert("123");
varpwin = window.opener;
pwin.document.getElementById("numid").value= "123";
pwin.document.getElementById("nameid").value="456";
window.close();
}
</script>
</body>
</html>