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对象
数组是一组标号"有序"的变量集合
创建一个对象:
和创建数组的"[]"不一样,创建对象用{}
和创建数组直接放置值不一样, 创建对象时值前面还要加"属性"
创建语法:{属性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对象
相关文章推荐
- JavaScript笔记之第五天
- JavaScript学习笔记【1-25】
- javascript笔记:深入分析javascript里对象的创建(上)续篇
- asp.net ajax 学习笔记--对javascript对象的扩展
- JavaScript笔记之面向对象
- Javascript学习笔记【第三章】2
- [js]javascript基础--通过看书笔记
- [Effective JavaScript 笔记]第61条:不要阻塞I/O事件队列
- javascript 学习笔记(6)
- javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
- JavaScript 学习笔记 2015-09-17
- JavaScript基础学习笔记(五)——Array类型
- JavaScript入门学习笔记--(1)
- Javascript高级程序设计第二版第十三章--表单脚本--笔记
- JavaScript面向对象笔记–原型
- JavaScript学习笔记1
- IE下JavaScript迁移到FireFox下的工作笔记
- JavaScript内存释放笔记
- Javascript学习笔记(1)
- 《JavaScript高级程序设计》笔记:JavaScript简介(一)