JavaScript with对象语句详解及面向对象概念

需积分: 0 0 下载量 11 浏览量 更新于2024-08-23 收藏 478KB PPT 举报
"本文主要介绍了JavaScript中的`with`对象语句的使用,以及JavaScript的面向对象特性。在JavaScript中,`with`语句允许我们更简洁地访问对象的属性,而无需反复引用对象本身。此外,文章也探讨了JavaScript与class-based语言如Java和C#在面向对象编程上的区别,并介绍了JavaScript创建对象的方法,特别是通过构造函数和原型来实现对象的实例化和扩展。" 在JavaScript中,`with`语句是一种简化代码的语法结构,用于在特定的作用域内访问对象的属性。例如,当我们要操作同一个对象的多个属性时,`with`语句可以减少重复的对象名称引用。在给出的例子中,创建了一个名为`objCard`的对象,然后使用`with`语句来设置和访问这个对象的属性,包括`name`、`age`、`phone`和`email`。这使得我们可以直接在`with`块内用属性名赋值,而无需在每个属性前都加上`objCard.`。 ```javascript var objCard = new Object(); with(objCard) { name = "张三"; age = 33; phone = "02-22222222"; email = "hueyan@ms2.hinet.net"; document.write("姓名 : " + name + ""); document.write("年龄 : " + age + ""); document.write("电话 : " + phone + ""); document.write("电子邮件 : " + email + ""); } ``` 这段代码中,`with(objCard)`创建了一个作用域,使得在大括号内的代码可以直接使用属性名,而无需每次都写`objCard.property`。这在处理多个属性时可以使代码更简洁。 JavaScript的面向对象不同于传统的class-based语言,如Java和C#。在JavaScript中,对象可以直接通过构造函数创建,而不是定义一个类然后实例化。例如: ```javascript function Person(name) { this.name = name; } var newPerson = new Person('张三'); alert(newPerson.name); // 输出 '张三' ``` 在这个例子中,`Person`是一个构造函数,`new Person('张三')`创建了一个新的对象实例,并将`name`属性设为'张三'。 JavaScript是一种prototype-based语言,这意味着对象可以动态地添加或修改属性。虽然没有类的概念,但JavaScript使用原型(prototype)来实现对象的继承和共享属性。当我们在一个对象上添加新属性,如果该属性在原型链上不存在,那么这个属性就会被添加到该对象上。如果使用`prototype`对象,那么这个属性会成为所有该函数创建的对象的副本。 `with`语句是JavaScript提供的一种便捷的访问对象属性的方式,而JavaScript的面向对象特性则基于构造函数和原型,提供了灵活的面向对象编程模型。