js的Object类型
Object类型
•ECMAScriptSpec中定义(ecma-262)
–一个无序的集合,可以存放任意类型对象
•常作为字典使用
–o.ItemName
–o[“ItemName”]
•可以使用for-in遍历字典中每一项
•禁止扩展其prototype对象
–其扩展将会出现所有的对象中
–影响for-in操作的结果
•MicrosoftAJAXLibrary并没有扩展Object类型
•toString()/toLocaleString()
–得到表示当前对象与环境无/有关的字符串
•valueOf()
–返回表示该对象的value(大部分类型会覆盖这个方法)
•hasOwnProperty(propertyName)
–对象上是否直接定义了某个属性
–不考虑prototype链
•isPrototypeOf(obj)
–obj是不是当前对象的prototype对象
–顺着prototype链查找
•propertyIsEnumerable(propertyName);
–某属性是否可遍历
–不考虑prototype链
html
•ECMAScriptSpec中定义(ecma-262)
–一个无序的集合,可以存放任意类型对象
•常作为字典使用
–o.ItemName
–o[“ItemName”]
•可以使用for-in遍历字典中每一项
•禁止扩展其prototype对象
–其扩展将会出现所有的对象中
–影响for-in操作的结果
•MicrosoftAJAXLibrary并没有扩展Object类型
•toString()/toLocaleString()
–得到表示当前对象与环境无/有关的字符串
•valueOf()
–返回表示该对象的value(大部分类型会覆盖这个方法)
•hasOwnProperty(propertyName)
–对象上是否直接定义了某个属性
–不考虑prototype链
•isPrototypeOf(obj)
–obj是不是当前对象的prototype对象
–顺着prototype链查找
•propertyIsEnumerable(propertyName);
–某属性是否可遍历
–不考虑prototype链
html
<div id="info"></div>
<script language="javascript" type="text/javascript">
function display(text)
{
document.getElementById("info").innerHTML += (text + "<br />");
}
function useAsDictionary()
{
var o = new Object(); // {}; {name : "Jeffrey"}
o["name"] = "Jeffrey";
o.salary = 1000;
display("Name: " + o.name);
display("Salary: " + o["salary"]);
display("---------------------");
}
function useForInStatement()
{
var dict = new Object();
for (var i = 0; i < 10; i++)
{
var key = "key_" + i;
dict[key] = Math.random();
}
delete dict["key_5"];
for (var key in dict)
{
display("Key: " + key + ", Value + " + dict[key]);
}
}
useAsDictionary();
useForInStatement();
</script>
<script language="javascript" type="text/javascript">
function display(text)
{
document.getElementById("info").innerHTML += (text + "<br />");
}
function useAsDictionary()
{
var o = new Object(); // {}; {name : "Jeffrey"}
o["name"] = "Jeffrey";
o.salary = 1000;
display("Name: " + o.name);
display("Salary: " + o["salary"]);
display("---------------------");
}
function useForInStatement()
{
var dict = new Object();
for (var i = 0; i < 10; i++)
{
var key = "key_" + i;
dict[key] = Math.random();
}
delete dict["key_5"];
for (var key in dict)
{
display("Key: " + key + ", Value + " + dict[key]);
}
}
useAsDictionary();
useForInStatement();
</script>