<html>
<head>
<script type="text/javascript">
function test1(){
var emptyObject1 = {}; //创建空对象
var emptyObject2 = new Object(); //创建空对象
var person = { "name":"sdcyst",
"age":18,
"sex":"male"}; //创建一个包含初始值的对象person
alert(person.name); //sdcyst
alert(person["age"]); //18
}
function test2()
{
var person={};
person.name="sdcyst";
person["age"]=18;
alert(person.name + "__" + person.age);//sdcyst_18
//在构建一个对象时描述性的名字可以不用引号来标注
var _person={name:"balala","age":23};
alert(_person["name"]+"__"+_person.age);//balala_23
alert(_person[name]);//undefined ,注意:通过[]来引用,属性要加上引号
}
function test3()
{
//一般来说"[]"操作符获取对象属性的功能更强大一些,可以在[]中放入一些表达式来取属性的值,
var name={"name1":"NAME1","name2":"NAME2","name3":"NAME3","name4":"NAME4"};
var namestring="";
for(var props in name){
namestring+=name[props];
}
alert(namestring);
namestring = "";
for(var i=0; i<4; i++) {
namestring += name["name"+(i+1)];
}
alert(namestring);
}
//delete操作符可以删除对象中的某个属性,判断某个属性是否存在可以使用"in"操作符.
function test4()
{
var name = {"name1":"NAME1","name2":"NAME2","name3":"NAME3","name4":"NAME4"};
var namestring = "";
for(var props in name) { //循环name对象中的属性名字
namestring += name[props];
}
alert(namestring); //NAME1NAME2NAME3NAME4
delete name.name1; //删除name1属性
delete name["name3"]; //删除name3属性
namestring = "";
for(var props in name) { //循环name对象中的属性名字
namestring += name[props];
}
alert(namestring); //NAME2NAME4
alert("name1" in name); //false
alert("name4" in name); //true
}
//对象的constructor属性,每一个javascript对象都有一个constructor属性.这个属性对应了对象初始化时的构造函数(函数也是对象).
function test5()
{
var date = new Date();
alert(date.constructor); //Date
alert(date.constructor == "Date"); //false
alert(date.constructor == Date); //true
}
function test6()
{
var array1 = []; //创建空数组
var array2 = new Array(); //创建空数组
array1 = [1,"s",[3,4],{"name1":"NAME1"}]; //这个数组长度为4,其中第3个元素也为一个数组
alert(array1[2][1]); //4 访问数组中的数组元素
alert(array1[3].name1); //NAME1 访问数组中的对象
alert(array1[8]); //undefined
array2 = [,,]; //没有数值填入只有逗号,则对应索引处的元素为undefined
alert(array2.length); //3
alert(array2[1]); //undefined
//我们已经知道,对象的属性值是通过属性的名字(字符串类型)来获取,
//而数组的元素是通过索引(整数型 0~~2**32-1)来得到值.
//数组本身也是一个对象,所以对象属性的操作也完全适合于数组.
}
function test7()
{//数组本身也是一个对象,所以对象属性的操作也完全适合于数组.
var array = new Array("no1","no2");
array["po"] = "props1";
alert(array.length); //2
//对于数组来说,array[0]同array["0"]效果是一样的(?不确定,测试时如此)
alert(array[0] + "_" + array["1"] + "_" + array["po"]);//no1_no2_props1
}
</script>
</head>
<body>
<input type="button" value="test1" onclick="test1();"/><br/>
<input type="button" value="test2" onclick="test2();"/><br/>
<input type="button" value="test3" onclick="test3();"/><br/>
<input type="button" value="test4" onclick="test4();"/><br/>
<input type="button" value="test5" onclick="test5();"/><br/>
<input type="button" value="test6" onclick="test6();"/><br/>
<input type="button" value="test7" onclick="test7();"/><br/>
</body>
</html>
分享到:
相关推荐
在提供的资源中,《代码之美》PDF文件可能包含了关于编程实践和代码风格的指导,而《Javascript面向对象编程》PPT可能更具体地阐述了JavaScript OOP的细节和示例。学习这些材料将有助于深入理解JavaScript的面向对象...
《JavaScript面向对象编程指南》内容包括:JavaScript作为一门浏览器语言的..., 《JavaScript面向对象编程指南》着重介绍JavaScript在面向对象方面的特性,展示如何构建强健的、可维护的、功能强大的应用程序及程序库。
JavaScript作为一门浏览器语言的核心思想;面向对象编程的基础知识及其在... 《JavaScript面向对象编程指南》着重介绍JavaScript在面向对象方面的特性,展示如何构建强健的、可维护的、功能强大的应用程序及程序库
JavaScript是一种广泛...通过深入学习这本《JavaScript面向对象编程指南(第2版)》,开发者不仅能掌握JavaScript的面向对象编程基础,还能了解到实际项目中如何有效地运用这些知识,提升编程技巧和解决问题的能力。
总而言之,学习现代JavaScript面向对象编程,有助于开发者在认识这门语言演化的基础上,运用面向对象的设计和编程模式来构建更加健壮和可维护的JavaScript应用程序。同时,测试和调试是保证代码质量不可或缺的环节,...
综合以上知识,`js 面向对象实例`涵盖了JavaScript中的面向对象编程基础,以及如何将这些概念应用到HTML5 Canvas的实践中。通过学习和实践这个实例,你不仅可以理解JavaScript的OOP机制,还能掌握如何利用Canvas API...
JavaScript是一种广泛应用于Web开发的脚本语言,..."JavaScript面向对象编程指南"这本书应该是对这一主题的详细解析,包括概念讲解、实例演示以及最佳实践,对于想要提升JavaScript编程能力的人来说是一份宝贵的资源。
JavaScript面向对象编程.pdf
JavaScript面向对象编程指南是完整的扫描版...
javascript面向对象编程培训教程PPT
JavaScript面向对象编程是一种基于原型(Prototype)的编程范式,它是动态类型语言,允许开发者创建具有复杂特性的对象。在JavaScript中,面向对象主要通过构造函数、原型链和闭包来实现。以下是对这一主题的详细...
### JavaScript面向对象编程详解 #### 一、引言 JavaScript作为一种广泛使用的脚本语言,在Web开发领域占据着举足轻重的地位。尽管JavaScript本质上是一种基于原型的语言,但它也支持面向对象编程的一些特性,使得...
面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码重用为目的的继承模式;BOM、DOM、浏览器事件、AJAX和JSON;如何实现JavaScript中缺失的...