[JavaScript] 《精通JavaScript》学习(四)~面向对象
prototype精彩资料:
"javascript之prototype" http://www.cnblogs.com/zouhaijian/archive/2009/03/29/1424592.html(很简约但清晰的讲述了prototype的用途)
"JavaScript对象模型-执行模型" http://www.cnblogs.com/RicCC/archive/2008/02/15/JavaScript-Object-Model-Execution-Model.html(绝对专业级别的JavaScript面向对象深入详解)
JavaScript是面向对象的语言,这是这次重新学习JavaScript最想完全搞明白的特性。就如Jhon所说,大多数编程新手的常见弱点在于按照功能编写代码,而不考虑任何上下文或组织。要编写最优化的JavaScript代码,就必须理解JS对象是如何工作的。
douglas crockford的定义:JavaScript is fundamentally about objects. Arrays are objects. Functions are objects. Objects are objects. So what are objects? Objects are collections of name-value pairs. The names are strings, and the values are strings, numbers, booleans, and objects (including arrays and functions).
var obj = new Object();
obj.val = 5;
obj.click = function(){
alert("hello");
}
//等价的写法
var obj = {
val:5,
click:function(){
alert("hello");
}
}
douglas crockford的定义一针见血,很自然的让人理解了{ ... } 这种当今最流行的对象字面量写法,采用name-value的形式定义对象!
到了这个部分,真的感觉特别难。主要是在网上看的这些文章,深入的讲解prototype机制,JS的函数,对象创建过程,作用域链等内容。真的很深奥~~但是只要懂了这些内容,那真的就可以算是精通JavaScript了。
我还没有完全理解"JavaScript对象模型-执行模型"这篇文章的内容,但是也学到了很多。下面就把已经学到的知识做个小结吧,成为自己
相关文档:
本文译自:http://www.codeproject.com/KB/scripting/jsbeginner.aspx
原文:JavaScript For Beginners
适宜对象:JavaScript初学者。
目录:
包含与引入(Embedding,including)
write 和 writeln
文档对象(document object)
bgColor 和 fgColor
消息框(Message Box)
变量(Variables ......
在JavaScript中字符串组合相加,大家一般直接用+拼接起来.例如:
for(i=0; i<len; i++){
if(zdname != ""){
zdname += "#" + trNode.children.item(i).getAttribute("busPath");
}else{
zdname = trNode.children.item(i).getAttribute("busPath");
  ......
这是一个很特殊的事件,w3c默认是承认为“mousewheel”,但我在它上面找到的资料比较少,只发现一个。号称最标准的FF,用一个私有实现DOMMouseScroll。总之实现很混乱。我们先看各浏览器对它的支持程度吧。
IEfirefoxsafari ......
JavaScript 有六种数据类型。主要的类型有 number、string、object 以及 Boolean 类型,其他两种类型为 null 和 undefined。
String 字符串类型:字符串是用单引号或双引号来说明的。(使用单引号来输入包含引号的字符串。)如:“The cow jumped over the moon.”
数值数据类型:JavaScript 支持整数和浮点 ......
JavaScript中的"=="和"===" (转)
首先,== equality 等同,=== identity 恒等(严格相等)。
==, 两边值类型不同的时候,要先进行类型转换,再比较。
===,不做类型转换,类型不同的一定不等。
下面分别说明:
先说 ===,这个比较简单。下面的规则用来判断两个值是否===相等:
1、如果类型不同,就[不相等]
2 ......