jQuery学习笔记(一)——javascript基础

下面的内容主要来自《jQuery风暴》,这本书是从图书馆借的,我觉得这本书超有价值!真的是借对了。。。在这里做一下笔记,防止书还回去之后忘记关键内容。。

欢迎访问http://www.cnblogs.com/tuesday/

 

jQuery是一个轻量级的脚本类库,而不是一个脚本框架,不会像脚本框架一样组织所有的脚本文件。jQuery UI是用于用户交互的综合jQuery插件。

jQuery可以很好的与vs2010配合,在页面上对jquery-xxx.min.js引用之后,vs会自动寻找jquery-xxx-vsdoc.js,在使用jQuery的函数时就会有完整的智能提示。事实上vs2008和vs2010对js的智能提示都有所提升,并非仅仅针对jQuery……

在用vs2008时,需要安装sp1补丁,如果仍不能提示则需要安装kb958502补丁。

 

javascript是ECMA-262标准的实现和扩展 包括jscript、actionscript都是ECMAscript,所以才会这么像

在javascript中数据一共有七种原始类型:undefined、null、number、string、boolean、function、和其他Object引用类型

 在javascript中,值类型的背后其实也是一种引用类型,所有的类型都是从Object中派生而来。比如可以这样:

var oNumberObject = new Number(100);

来声明一个变量。

 

undefined表示一个对象没有定义或者没有被初始化,而null表示对象的占位符。undefined是从null派生出来的,所以:

alert(null == undefined);

将弹出true。

对于null和undefined有很多易错之处,比如:

 

var oTemp = null;

if (oTemp)...   为false

if (undefined)....为false

 

上面的很好理解,所有语句均正确,不过:

 

//var oTemp = null;

if (oTemp)...错误

 

在这种情况下需要使用typeof:

 

//var oTemp1;

var oTemp2;

alert(typeof oTemp1);

alert(typeof oTemp2);

 

上面的代码均弹出"undefined"。

结论:对于没有声明过的变量 只能用typeof判断,而如果是null或者未赋值的变量,可以用if() 或者 == 来判断。

另外需要注意的问题是:typeof返回的不是类型,而是字符串!比如:

//var oTemp

if(typeof oTemp == undefined)        将永远是false。

var oTemp2

if (typeof == "undefined")       //原书这里印刷有误!!!      将返回true。

 

在typeof返回值中,有一个最为纠结:

typeof null == “object”

很奇怪是把。。。可以像上面一样解释:null表示未初始化的对象的占位符。。这样似乎就说的通了

不过 实际上这只是javascript最初实现上的一个错误,却被ECMA标准沿用了。所以不管怎么说,上面的解释都是一种『辩解』。所以不要出现下面的语句:

if (typeof null == "null")

因为它永远是false。。。

另外,一个没有返回值的函数所返回的是“undefined”。

 

在javascript中,变量不可以不声明。之所以把这一点单独记下来,是因为js允许隐式声明,比如:

//var sName;

sName = "yourname";

alert(sName);

隐式声明与显式声明最大的区别是隐式声明的变量是 全局 的,即使在函数里也一样、

 

恩。。。今天写累了 就这么多吧。有时间继续。

posted @ 2011-11-27 19:31  dontpanic  阅读(304)  评论(0编辑  收藏  举报