首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

这个定义的变量算是什么类型的?解决方法

2012-02-09 
这个定义的变量算是什么类型的?varNode{ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3}我用typeof显示的

这个定义的变量算是什么类型的?
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 "];

热点排行