从1999年 我买过一本 《javascript 从入门到精通》,到现在好像已经有10年了,那本书早已不见了踪迹。

可是我对javascript的认识始终没有任何紧张,即使在过去的一年我的php+mysql水平突飞猛进,CSS+DIV也开始精通的时候,JS始终像喜马拉雅一样对我来说难以征服.

从来不觉得JS很难,从来都觉得JS乱七八糟,估计核心问题是自己对OO没有任何概念,没有掌握一种好的方法去学习的,只是知道去些网站下载点脚本用用.所以没有进步.

这次准备了三本书《DOM scripting》《Ajax In Action》《Javascript权威指南》,准备用一个月的时间攻克并深度掌握整个开发链条上最后的死角.

为我的靠靠靠做最后的技术储备.

DOM 其实在写Css代码的时候已经有点感觉了,tag和id 和class 按照父子节点往下走,最后可以定位到某个地方.

第二章 javascript syntax

statement:;不是必须的 不像php 但是同一行不同的statement必须用;分割,但是良好的习惯还是每句statement后面加;.

comment:完全类似php的风格其实应该是c风格吧.

variable:assignment = ;equal ==; 和php一样variable使用前 不需要declare;example: var name=”hatoyu”,var age=”31″;JS也是weakly typed language.

string:”,”"问题也基本同php ;

boolean :true or false;

Array:Array.length 就是Array的element个数.Array下标从0开始 等同于php

opration:+ 既是数字的加 也是字符串的加,相当于 php的+ 和.的功能一起.

conditional statement: if else 没有看到 elseif.

function scope:global variable;localvariable;

object:method就是object内定的function propety 就是 object内的variable;

chapter 3 DOM:

DOM 就是用XHTML 编写出的文档.

element note ;text node;propety node;

getElementById() is a method of documnet; example:document.getElementById(”suggestBox”);

问题: alert(document.getElementsByTagName(”li”).length); 这个放在js里面出来0,直接放html里面出来是3 ,但是meta 就可以都正确.

getElementsByTagName 注意有个s 不是Element 而是 Elements.

getAttribute() method:只有一个参数 ,就是arrtibute;

setAttribute();

所有这些操作在view source里面是看不到的.因为页面没有刷新.

chapter 4 javascript gallery:

困惑 在zs中写js是个很费力气的活,没有代码提示没有错误提示,只能用firebug和venkman 该死的venkman还不怎么会用.

chapter 5 graceful degradation 预留退路,比较正式的关注,像解决浏览器对css的解释不同,对于不支持javascript的用户 要有所考虑.

一段非常好的预留退路的写法:(好像我可以马上用到pis里面的一些链接去了.)

<a href=”index.html” onclick=”popUp(this.href);return false;”>弹出窗口</a>

如果有js支持 那么弹出窗口,那么不执行a href 内的,如果没有js支持,那么执行a href.好棒的东西其实很简单啊.

JS居然也要和html代码分离,我服了他了.

那么HTML就是HTML 代码太漂亮了.我什么时候能真正把html从php中剥离都不知道,用smarty太复杂了.