《javascript dom编程艺术》学习笔记

来源:互联网 发布:js获取android版本号 编辑:程序博客网 时间:2024/05/22 11:00


第一章:javascript简史

    什么是Dom? DOM是一套对文档的内容进行抽象和概念化的方法。它是一个与系统平台和编程语言无关的接口, 程序和脚本可以通过这个接口动态的访问和修改文档的内容、结构和样式。


第二章:javascript语法:

    1、为了使浏览器更加快的加载页面, 最好是把<script>标签放到HTML文档的最后, </body>标签之前。

    2、通常驼峰格式是函数名、方法名和对象属性名命名的首选格式, 变量通常使用下划线隔开命名,如:my_mood。

    3、要进行严格比较,就要使用另一种等号(===),这个全等操作符会执行严格的比较,不仅比较值,还比较变量的类型。同理有(!==)。

    4、没有使用var,那个变量就将视为全局变量。

    5、对象是自包含的数据集合。包含在对象里的数据可以通过两种形式访问-属性和方法。


第三章-DOM

    1、javascript语言里的对象分为:用户自定义对象、內建对象(Array、Math、Date等)和宿主对象(由浏览器提供的对象:window对象,Document对象)三种。

    2、节点分为:元素节点(body、p div、html等),文本节点(元素节点包含的内容如<p>hello</p>中的hello字符串),属性节点(如<p name="test" id="p"</p>中的name,id属性节点),一份文档就是一棵节点树。

    3、获取元素:getElementById、

                              getElementsByTagName,获取文档里总共有多少个元素节点(document.getElementsByTagName("*").length)

                              getElementsByClassName,(因为只有新的浏览器才支持此方法,所以为了拟补不足,改写以下函数:

                                   function getElementsByClassName(node,classname){

                                       if (node.getElementsByClassName){

                                            return node.getElementsByClassName(classname);

                                       }else{

                                           var results = new Array(); 

                                           var elems = node.getElementsByTagName("*");

                                           for (var i=0;i<elems.length;i++){

                                               if (elems[i].classname.indexOf(classname)!= -1){

                                                   results[result.length] = elems[i];

                                               }

                                         }

                                      return results;

                                      }

                                  }

    4、typeof操作符可以告诉我们它的操作数是一个字符串、数值、函数、布尔值还是对象。例:(alert( typeof document.getElementById('xx'));

    5、文档中的每一个元素都是一个对象。

    6、getAttribute('元素属性),使用举例:

           var test = document.getElementById("test");

           var title = test.getAttribute("title");

    7、setAttribute(attribute,value)

            值得关注细节:通过setAttribute对文档做出修改后,在通过浏览器看源代码看到的仍将是改变前的属性值,即setAttribute作出的修改不会反映在文档本身的源代码里。这种“表里不一”的现象源自DOM的工作模式:先加载文档的静态内容,再动态刷新,动态刷新不影响文档的静态内容。这正是DOM真正的威力:对页面内容进行刷新却不需要在浏览器里刷新页面。


0 0
原创粉丝点击