dom-javascript读书笔记

26 June 2013

##第一章.遵循最佳实践

###1.2让js运行起来 1.2.1把行为和结构分离

<script type="text/javascript">
var fun=function(){
	return 123;
}
</script>
<a href="javascript:fun()"></a>

href里面运行function,如果有返回值,会把返回值输出到当前页中

##第二章.创建可重用的对象

###2.2.创建你自己的对象

2.2.5.对象字面量

浏览器中的解释程序在执行JavaScript代码之前,首先要对代码进行变量初始化,即初始化window对象之下的所有顶级变量。

看下面的例子:

b();	
function b(){
    alert('bbb');
    }

上面这种方式,如果是在最顶层声明的,会首先在初始化阶段将这个函数赋值给全局上下文,也就是window对象,所以可以在函数前调用b();

a();
var a=function(){
	alert('aaa');
}

而这种方式,因为用了var关键字,虽然最终效果都是把a放到window里面去,但是这种方式只是在运行到这一行时,才会把函数给赋值到window.a上,在之前window.a的值是undefined,所以在前面运行a()时会报错,具体的错误可以看看控制台,嘿嘿。

##第三章.DOM2核心和DOM2 HTML

###3.4.DOM核心

3.4.2.核心Node对象

4.节点的ownerDocument属性

一个结点的ownerDocument属性引用的是文档的根对象,一般来说是document对象,既然document对象有了,那么为什么还要用这个呢?请看下面的例子

function example(node){
	var document='hehe';	
	//这个是对的
	var node1=node.ownerDocument.getElementById('id');

	//下面这个就是不行的了,因为局部变量已经把document给覆盖了
	var  node2=document.getElementById('id');
}

ownerDocument属性的值是不可改变的,如果硬是要改变,去强行赋值的话,是不起作用的,在使用这个属性的时候,它始终是指向文档根对象的。

这就是我对这个属性的理解,做为一个document对象的备用吧。


tags:    js   
回到首页