js的重载
什么是重载 方法名相同 参数不同
js不存在重载 用最后一个函数
把传递的参数保存到arguments的数组里面
但是可以通过其他方法模拟重载 通过arguments 数组来实现重载
for(var x =0;x<arguments.length;x++)
{
sum+= arguments[x];
}
js的BOM对象 在w3c dom 中
browser object model 浏览器对象模型
有哪些对象
navigator 获取浏览器的信息
navigator.appName
screen
screen.width
screen.height
location 请求url地址
href 属性 可以获取请求的url地址 location.href
设置url的地址 location.href=""; 要先绑定
history 请求url历史记录
history.back() 到上一个页面
history.go(-1)
history.forward(); 下一个页面
history.go(1)
window
窗口对象
顶层对象(苏哟用的bom对象都是在window里面操作的)
方法
window.alert(); 页面弹出一个框 显示内容
简写alert();
confirm() 确认框
var flag = window.confirm("显示的内容");
if(flag==true){}
else
prompt 输入对话框
prompt("要在对话框中显示的纯文本","默认的输入文本")
open() 打开一个新的窗口 dom中也有个open方法注意加上window进行区别
open("新窗口的地址","名字 一般为空","窗口的特征 比如宽度和高度")
open("url","","width=300,height=200")
close() 关闭窗口 浏览器兼容性差
window.close()
定时器
setInterval("js代码",毫秒数) 1秒=1000毫秒
每1秒弹一次 通过setInterval 有个返回值 可以clear值结束
window.setInterval("alert('1')",1000)
setTimeout("js代码",1111)
在毫秒数后执行 但只执行一次
clearInterval(interval的id) id 在创建interval的时候var的
clearTimeout
js的dom对象
dom document object model 文档对象模型
文档
超文本文档(超文本标记文档) html xml
对象
提供属性和方法
模型
使用属性和方法来操作超文本标记型文档
可以使用js里面的dom里面提供的对象 使用这些对象的属性和方法对标记型文档进行操作
想要对标记型文档进行操作 首先需要对标记型文档里面的所有内容封装成对象
需要把html里面的标签 属性 文本内容都封装成对象
要想对标记型文档进行操作 解析标记型文档
会在内存中分配一个树形结构 只能有一个根节点 在根节点下面可以有多个子节点 没有子节点成为叶子节点
document对象 整个html文档
element对象 标签对象
属性对象
文本对象
node节点对象 是这些对象的父对象 找不到方法 在父对象里面找
解析过程
根据html的层级结构 在内存中分配一个树形结构 需要把html中的每部分封装成对象
document对象 整个文档
element对象 标签对象
属性对象
文本对象
Node节点对象 这个对象是这些对象的父对象
如果在对象里面找不到想要的方法 这个时候在Node节点对象里面找
DOM 三种模型
level 1 将html文档封装成对象
level 2 在level1 的基础上添加新的功能 比如对于事件和css的支持
level 3 支持xml1.0的 一些新特性
DHTML 动态的HTML 不是一门技术 是多项技术的综合 html js css dom
html 负责提供标签 封装数据 便于操作数据
css负责提供样式 对标签中的数据进行样式定义
dom 负责将标签及其内容解析 封装成对象 对象中具有属性和行为
js 负责提供程序设计语言 对页面中的对象 进行逻辑操作
document对象
表示整个文档
常用方法
write() 方法
向页面输出变量(值)
向页面输出html代码
document.write("<br/>")
getElementById("idname") 传递的参数是标签里面的id值
通过id得到元素(标签)
getElementsByName
通过标签的name的属性值得到标签
返回的是一个集合(数组)
getElementsByTagName
通过标签名得到元素集合
只有一个标签 这个标签使用name获得的话 可以直接通过数组的下标获取节点
<body>
<input type="text" id="numid"/><br/>
<input type="text" id="nameid"/><br/>
<input type="button" value="打开" onclick="open1()"/>
<script>
function open1() {
window.open("user.html","","width=300,height=200");
}
</script>
<table border="1">
<tr>
<td></td>
<td>name</td>
<td>id</td>
</tr>
<tr>
<td><input type="button" value="选择" onclick="chose1('1','2')"></td>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td><input type="button" value="选择" onclick="chose1('3','4')"></td>
<td>3</td>
<td>4</td>
</tr>
</table>
<script>
function chose1(num,name) {
//把num和name赋值到window页面
//跨页面的操作 opener 得到创建这个窗口的窗口 即得到window页面
var p = window.opener;
var num2 = p.document.getElementById("numid");
var name2= p.document.getElementById("nameid");
num2.value=num;
name2.value=name;
window.close();
}
/*
由于现在访问的是本地文件 js安全性 谷歌浏览器安全性级别很高 不能访问本地文件
实际开发中 没有这样的问题 实际中不可能访问本地的文件
js date对象
获取当前的月 0-11 想要得到准确的月 +1
获取星期时候 星期日是0
Math对象
静态方法 直接 Math.random()
全局函数
直接写方法名称 eval()
js的函数重载
不存在重载
可以通过其他方式模拟重载的效果 通过数组 arguments
js的BOM对象
navigator screen location history
window 对象 根源对象
方法都要掌握
setInterval setTimeout
DOM简介
记住几个方法 getElementById
opener 属性 获取创建当前窗口的窗口
*/
</script>
</body>