请问,这个对象是javascript中的什么对象?????

来源:百度知道 编辑:UC知道 时间:2024/05/07 01:53:19
<script language="javascript" type="text/javascript">
var pp={"key1":"01","key2":"02"};
pp.key1="09";

alert(typeof(pp));
alert(pp.key1);
</script>

运行后第一个alert显示pp类型为对象.但是它是什么对象呢,有什么用法???
还有其它定义及使用方法吗??
谢谢!!
lkmgmdmtd 兄,
自定义对象,貌似不是这样的吧。但我不确定。
cyngenius兄,
这个应该不是数组。倒是有点java里的hashtable一样。
javascript是一种弱类型语言,不指明类型,它自己会归类。
javascript的核心对象就那么几个,肯定是其中之一。只是定义的方式有点怪???
我有一个想法。如var ppk=new String("abcd");
定义了一个ppk对象,类型是String
有没有一个方法在程序中输出ppk该对象的类型。如果可以的话。把上面的对象pp的类型输出一下看看不就完了。

请各位仁兄发表高见!

var pp={"key1":"01","key2":"02"};

javascript中,这种直接用{}括起来的方式叫对象直接量,就像字符串直接量用引号引起来一样,上面的代码和下面这句是等效的:
var pp = new Object{
this.key1 = "01";
this.key2 = "02";
}
可以看出,pp就是用Object构建的,所以它的类型是Object类型。
注意,对象直接量中不能用this,而必须写成“属性:值”这种形式,因为它不是用new运算符构建的。

有问题欢迎找我讨论

这种定义对象的方法叫键值对,也就是json的定义方法。

它确实是一个Object对象,你可以通过对象的构造函数,也就是.constructor来判断对象的类型,注意,如果用typeof是判断不出具体类型的。

执行一下下面的代码你就清楚了:

<script type="text/javascript">
var str = 'I am String';
alert(str.constructor == String);
var pp={"key1":"01","key2":"02"};
alert(pp.constructor == Object);
</script>

两个都是提示的true,也就是说,第一个是String对象,第二个是Object对象。

javascript的对象类似以前的LISP语言。像是一个数组。你用var定义对象
的时候没有指定类型。默认是一个object对象。你用pp.key1='09'就给这个
pp对象添加了一个key1属性,用同样的方法还可以添加其他属性和方法。