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);
隐式声明与显式声明最大的区别是隐式声明的变量是 全局 的,即使在函数里也一样、
恩。。。今天写累了 就这么多吧。有时间继续。