web-03-js-01

1、js外部对象

BOM对象(Browser Object Model):浏览器对象模型(主要操作浏览器的),主要操作浏览器窗口,不跟页面发生直接联系

DOM对象(Document Object Model):文档对象模型(主要操作html的),主要是用来实现对html页面的操作(增删改查-页面的节点),在js中已经事先定义了访问和操作html文档的标准方法

2、window(BOM对象):浏览器窗口对象

所有js的全局对象,函数和变量都在window中

    1)常用属性

-1. history:可以获取浏览器的历史记录对象

-2. document:用于获取窗口中显示的html文档对象

-3. location:用于获取窗口文件地址对象

-4. screen:获取当前的屏幕对象

-5. navigator:获取浏览器信息对象

    2)常用方法

-1. 对话框

alert();    confirm();  -属于确定对话框

-2. 定时器

一般用来制作网页时钟、倒计时、 轮播

1)周期性定时器
var tid=setInterval(执行语句/函数名,间隔毫秒数,[回调函数]) -回调函数是在执行语句后执行的操作
clearInterval(tid) -关闭指定计时器

2)一次性定时器
var tid=setTImeOut(执行语句/函数名,间隔毫秒数);
clearTimeOut(tid);

    3)常用对象

-1. Location

href属性:指的是当前窗口正在浏览的网页地址

Location.href="http://www.baidu.com";

reload():重新加载当前页面(等同于按下刷新按钮)

-2. Screen -包含客户端的显示屏信息,常用于获取分辨率

width/height:当前屏幕的宽高

availWidth/availHeight:当前屏幕的可用宽高

-3. Navigator:包含浏览器的相关信息

userAgent

-4. History:用户通过浏览器访问过得URL

back(); //回退
forward(); //前进
go(num); //num>0前进 num<0后退

-5. Document

3、document

DOM树:在页面加载时由浏览器创建的,通过js可以创建动态的html,js可以修改html的属性、样式、事件

3.1 DOM操作

前提:

节点.属性  -用于获取属性的值
节点.属性=值 -用于修改节点上属性的值
节点.fangf () -获取方法
节点.方法(值) -修改值

    1)查找节点

document.getElementById("id的值");  //查询的整个html文档,如果找不到,返回的是null

document.getElementsByTagName("标签名称"); //返回的是数组(含多个)
-> 返回指定的标签名元素组成的数组
-> 若找不到返回空数组[],可以通过下标获取数组中的指定元素

document.querySelectorAll("选择器"); //根据选择器查询所有

document.querySelector("选择器"); //找单个节点
如:var uname_E=document.querySelector("[type='text']"); //根据属性名找到用户名节点

    2)读取    ----   属性/值(前提找到节点)

innerHTML:获取双标记中间的html内容
innerText:获取双标记中间的文本内容
修改双标记内容:
innerHTML=html值;
div_E.innerHTML="<span>大家好</span>"; //向div中添加span节点

修改样式:
style=值;
style.属性名(驼峰)=值;
className=值;

4、js操作DOM

    1)增加元素

-字符串拼接

-通过方法创建

-1)document.createElement(元素名称);
-2)parentNode.appendChild(新节点); //将新节点作为父节点的最后一个子元素添加进去
parentNode.insertBefore(新节点,在哪个节点前面添加);

    2)删除元素

-字符串删除

-parentNode.removeChild(要删除的节点);

    3)改元素

-改属性(改样式)

-改事件

5、js中的事件

    1)什么是事件

页面的元素状态变化,触发的动作

* 鼠标事件

* 键盘事件

* 状态改变

    2)常见事件

onclick:单击

onchange:状态发生改变

onblur:失去焦点

onfocus:获取焦点

onsubmit:提交

onload:页面完成加载

    3)事件的定义方式

-1)元素上添加<a onclick="f1()">点击</a>

-2)元素节点.onclick=function(){}

       元素节点.onclick=f1;

-3)事件冒泡(是默认的)

当内层节点事件触发时,会默认向上触发祖先节点的同名事件

要取消事件冒泡:event.cancelBubble=true;

-4)事件对象 (event)

* 任何事件触发后都会产生一个event对象

* 记录事件触发时鼠标的位置,键盘的状态,触发对象等信息

    event.target/event.srcElement

    event.clientX/event.clientY    //横纵坐标

6、js中的自定义对象

   1)模拟构造器创建对象

function UserModel(){
this.name="";
this.age=0;
}
val u1=new UserModel();
u1.name="张三"; //给name赋值,JSON格式{"属性":值,"属性":值},json是一种数据交换格式
var user={"id":001,"sex":"男"};
var user1={
'id':002,
'age':25,
'name':'王五',
'sayHello':function(){
var str=this.age+"岁的"+this.name+"你好";
alert(str);
}
};
//调用自定义方法
user1.sayHello();
//若为多个对象
var users=[{},{},{}]; //{}会转为true,在需要定义不确定是否存在的对象时,就需要赋值为""/underfine,清空对象,需要对象=null

 

posted @ 2018-09-10 14:34  不是一个世界的人  阅读(126)  评论(0编辑  收藏  举报