您的位置:首页 > Web前端 > JavaScript

Javascript 第五天 笔记

2013-03-16 10:48 155 查看
对象

数组是一组标号"有序"的变量集合

创建一个对象:

和创建数组的"[]"不一样,创建对象用{}

和创建数组直接放置值不一样, 创建对象时值前面还要加"属性"

创建语法:{属性1:值1,属性2:值2}

对象单元值的引用

Obj.属性

或者 obj['属性'];

对象如何遍历???

For (per in obj) {

Xxxx

}

注意在for in结构中,利用循环得到的属性,取值时,

不能用 obj.属性的方式.

对象单元值的删除:

Delete obj.属性

在js中,函数本身就是变量,

而数组和对象存储的就是"变量",

对象的某个属性的值 -----有没有可以是一个函数呢?

答: 可以, 对象的某个属性对应的值, 可以是函数.

如果是函数时呢,这个属性往往也叫"方法";

如果对象的某个"方法" ,需要调用自身的某个属性值,

可以在函数中用一个关键词来代替 "自己"这个对象!!!!

This ---> 对象自身

/*结合现实中的例子:

一张纸,前面写前: 请在以下空格内,签上自己的名字,

那么,张三来签时,就签"张三",

李四来签时,就签"李四", 谁签的时候,就签"谁自己"的名字.

Js 的内置对象

在js中, 所有的变量,都可以被js引擎包装成"对象"来对象.

比如: str = 'abcd'; // 字符串本身是没有length属性的.

但是如果你去调用 str.length,

在调用的前一瞬间, js执行引擎,会把他包装一下,当成一个对象来处理, 并且给这个赋了一些属性和方法.

对于字符串, 布尔型, 数值类型,数组,null,以及Math

这些变量,虽然没有属性,

但是在调用的前一瞬间,js会为他们包装一些属性和方法.

还有一些系统内置对象, 是通过new得来的,当然也拥有属性和方法.

比如 日期/时间对象.

用的时候,必有先通过 new 来得到一个对象.

然后再调用对象的方法和属性.

DOM操作

图片切换的相册效果,

新闻/军事/时尚 --> tab切换效果

注册表单: 检查"用户名没输入"等效果.

特效就是DOM操作的具体应用.

DOM操作就是用js来写html代码,操作DOM对象

节点/元素/标签

想操作DOM对象?

对DOM的操作:

修改: ---> 先找到这个节点

删除----> 先找到这个节点

添加--> 先造出一个节点,然后插入. 插入到哪儿?---> 找节点来定位

节点的"查找"最重要!!!

1:document.getElementById: 根据id来查找节点, 返回的是"节点"本身

2:document.getElementsByTagName, 通过标签来查找节点,返回"数组"

3:document.getElemntsByName,通过name属性来查找节点, 返回"数组"

注意: 早期浏览器中认为name只出现表单中, 因此,document.getElemntsByName 只对表单中的元素发挥作用. 后来,部分浏览器把name属性扩展到一般的元素如div. 但是IE没变, 还是只能对表单使用ByName, 因此出于兼容性: 我们只应对表单使用ByName.

DOM中查找节点的思路:

由大到小来寻找 ,个别情况也可能由子到父.

由大到小 : 通过下面3个方法来进行大的定位.

1: document.getElementById: 根据id来查找节点, 返回的是"节点"本身

2:document.getElementsByTagName, 通过标签来查找节点,返回"数组"

3:document.getElemntsByName,通过name属性来查找节点, 返回"数组"

如果还没有查到想要的结果, 还可以根据前面已经找到的节点再次定位,

继续查找

1: 查找子元素

childNodes / children [index]

2:查找父元素

node.parentNode ---->来获取父元素

2.5:firstChild, lastChild,

3:nextSibling, previousSibling 兄弟元素

这4个属性受“空白”文本的影响,建议不用。

4: 如果查到的某个元素,仍然非常大,这个时候

我们还可以利用getElementsByTagName 来进一步筛选

注意: 对于元素对象,和document对象相比.

元素对象只能利用第________2_______个函数,其他两个不可以使用.

1: getElementById:

2.getElementsByTagName

3.getElemntsByName

所有的元素都能够用style---css来控制

所有的元素都有一个属性或者叫子对象-----------style对象
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: