日期:2014-05-16  浏览次数:20356 次

这个定义的变量算是什么类型的?
var   Node   =   {
ELEMENT_NODE:1,
ATTRIBUTE_NODE:2,
TEXT_NODE:3

}

我用typeof显示的是object,这个是数组吗?
JS的数组只能通过new     Array()定义吗

------解决方案--------------------
ELEMENT_NODE ATTRIBUTE_NODE TEXT_NODE 是Node的三个属性
alert(Node.ATTRIBUTE_NODE);
------解决方案--------------------
对象字面量
------解决方案--------------------
Node 是对象,不是数组
测试
alert(Node instanceof Object) //true
alert(Node instanceof Array) //false
ELEMENT_NODE,ATTRIBUTE_NODE,TEXT_NODE是它的三个属性

定义数组的方式还可以:
a = [1,2,3,4,6, 'dsa ',new Date()];
------解决方案--------------------
是对象不需要实例化吗?直接引用alert(Node.ATTRIBUTE_NODE);就可以?
-------------------------

Node已经是一个实例了

function Node(){
this.ELEMENT_NODE=1;
this.ATTRIBUTE_NODE=2;
this.TEXT_NODE=3;

}
这个对象需要实例化
而var Node = {
ELEMENT_NODE:1,
ATTRIBUTE_NODE:2,
TEXT_NODE:3

}相当于var node=new Node();
------解决方案--------------------
是javascript定义对象的一种方法等价于

function node(ELEMENT_NODE,ATTRIBUTE_NODE,TEXT_NODE){
this.ELEMENT_NODE=ELEMENT_NODE;
this.ATTRIBUTE_NODE=ATTRIBUTE_NODE;
this.TEXT_NODE=TEXT_NODE;
}
var Node = new node(1,2,3);



------解决方案--------------------
JSON是一种JS的基础数据结构
是一种比XML更快捷更高效的数据模型,GOOGLE MAP就是用它做的数据交换
具体看这里
http://www.javaeye.com/topic/71343
http://hi.baidu.com/hibydu/blog/item/ef9b17fab7c1a51ca8d3119e.html

而用function可以定义的是类,两种差不多,但本质上稍微有点区别

定义数组可以用new Array(),也可以直接定义
var arr=[ "a ", "b "];