没有JS基础!边做边学!看过较多JS代码,如今正在看《JavaScript高级程序设计》,很多以前困扰我的问题得到解答!现把JS定义对象的方式贴如下,给自己加深印象:
<html>
<body>
<script language="javascript">
//代码一
var oCar=new Object;
oCar.color="red";
oCar.doors=4;
oCar.mpg=23;
oCar.showColor=function(){
alert(this.color);
};
//代码二function factory
function createCar(){
var oCar=new Object;
oCar.color="green";
oCar.doors=4;
oCar.mpg=23;
oCar.showColor=function(){
alert(this.color);
}
return oCar;
}
var oCar1=createCar();
var oCar2=createCar();
//代码三,所有对象都共享一个方法,每个创建新对象,都要创建新函数,而事实是对象共享一个方法
function createCar(sColor,iDoors,iMpg){
var oTempCar=new Object;
oTempCar.color=sColor;
oTempCar.idoors=iDoors;
oTempCar.impg=iMpg;
oTempCar.showColor=function(){
alert(this.color);
}
return oTempCar;
}
var oCar1=createCar("red",2,3);
var oCar2=createCar("green",3,5);
//代码四:
function showColor(){
alert(this.color)
}
function createCar(sColor,iDoors,iMpg){
var oTempCar=new Object;
oTempCar.color=sColor;
oTempCar.idoors=iDoors;
oTempCar.impg=iMpg;
oTempCar.showColor=showColor;
return oTempCar;
}
var oCar1=createCar("red",2,3);
var oCar2=createCar("green",3,5);
//代码五,使用混合的构造函数/原型方式来构造对象
function Car(sColor,iDoors,iMpg,){
this.color=sColor;
this.idoors=iDoors;
this.impg=iMpg;
this.drivers=new Array("Mike","Sussen");
}
Car.prototype.showColor=function(){
alert(this.color);
}
var oCar1=new Car("red",1,25);
var oCar2=new Car("green",2,23);
//代码六:动态原型方法
function Car(sColor,iDoors,iMpg,){
this.color=sColor;
this.idoors=iDoors;
this.impg=iMpg;
this.drivers=new Array("Mike","Sussen");
if(typeof Car._initialized=="undefined"){
Car.prototype.showColor(){
alert(this.color);
}
Car._initialized=true;
}
}
</script>
<body>
</html>
分享到:
相关推荐
### JS定义类或对象 #### 一、JavaScript与对象概念 JavaScript是一种基于对象的脚本语言,这意味着在JavaScript中,对象扮演着非常重要的角色。在实际项目开发中,开发者经常通过`function fnname{…}`的方式直接...
总结一下,JavaScript的类、对象和构造函数是实现面向对象编程的关键元素。类提供了创建对象的模板,对象是数据和行为的载体,而构造函数则是创建和初始化对象的工具。通过类的继承,我们可以复用代码,构建更复杂的...
本文实例讲述了JavaScript定义类和对象的方法。分享给大家供大家参考。具体方法如下: 在JS中,类和对象有多种不同的写法,因为本人对JS也不怎么熟,所以就本人的理解来写,如果哪位朋友发现有不对,请告之,共同...
### JS中自定义类和对象知识点详解 #### 一、工厂方法 在JavaScript中,**工厂方法**是一种创建对象的模式。它通过定义一个函数来返回一个特定类型的对象,这种方式可以使代码更加简洁和通用。 ##### 示例 ```...
在JavaScript中,创建类和对象是面向对象编程的基础。本文将详细介绍几种常见的创建对象的方法,包括它们的特点和优缺点。 5.1 工厂方法 工厂方法是一种创建对象的模式,通过一个函数来创建具有特定属性和行为的...
在JavaScript中,定义对象的几种方式有直接量方式、工厂方式和原型方式。 直接量方式是最简单直接的定义对象的方法,即直接用花括号定义对象并填充属性和方法。例如: ```javascript var Obj = { name: 'sun', ...
本文将深入探讨两种常见的对象创建方式:使用`new`关键字创建对象和直接定义对象。这两种方法虽然最终都能创建类的实例,但它们在内存分配、作用域和生命周期等方面存在显著差异。 ### 1. `new`关键字创建对象 `...
JavaScript定义类的几种方式包括工厂方式、构造函数和原型方式,每种方法都有其特点和适用场景,接下来我们将详细探讨。 工厂方式是最早期的面向对象编程在JavaScript中的实践之一。使用工厂方式定义类,本质上就是...
### JavaScript 类和对象的实现:深入探讨 #### 引言 JavaScript 作为一种脚本语言,其强大之处在于能够灵活地支持面向对象编程(OOP),尽管它最初设计时并非专门为此目的。JavaScript 的对象模型允许开发者以多种...
### JS定义静态类 在JavaScript中,静态类的概念与传统面向对象编程语言中的类有所区别。JavaScript本身是一种基于原型的动态语言,直到ES6(ECMAScript 2015)引入了类语法,才使得类的概念更加清晰。不过,这里的...
面向对象编程(Object-Oriented Programming,简称OOP)是JavaScript中的核心概念,它允许开发者通过对象来组织和管理代码,提高代码的可重用性和可维护性。本实例将深入探讨JavaScript的面向对象特性,并结合HTML5...
混合的构造函数/原型方式是使用构造函数来初始化对象的属性,然后使用原型方式来定义对象的方法。例如,创建一个 Car 的混合构造函数/原型方式: ``` function Car(sColor, iDoors, iMpg) { this.color = sColor; ...
通过构造函数定义对象的属性,通过原型定义对象的方法。这样,每个对象的属性仍然是唯一的,而方法则可以通过原型链被所有对象共享。混合模式的代码示例如下: ```javascript function Car(color, doors) { this....
这里我们将详细探讨ES6中定义类和对象的相关知识点,包括类的定义、继承、静态方法和静态属性。 1. **类的定义**: 在ES6之前,我们通常使用构造函数和原型链来模拟类的行为。ES6引入了`class`关键字,使得类的...
总结起来,RequireJS为我们提供了一种优雅的方式来组织和加载JavaScript代码,而结合类的定义和继承,我们可以构建复杂的面向对象应用程序。在实际项目中,我们还可以利用RequireJS的优化工具进行代码压缩和合并,...
总结来说,`lang.js`是JavaScript开发者的一个强大工具,它通过提供面向对象的扩展,使得开发者可以在JavaScript中更加方便地实现类的定义和函数重载,提升代码的可维护性和可读性。通过阅读源码和示例,开发者可以...
在"js跨域对象类"中,主要涉及到的技术有JSONP(JSON with Padding)和CORS(Cross-Origin Resource Sharing)。这两种方法都是用来绕过同源策略限制,实现跨域通信的方式。 **JSONP** 是一种早期的跨域解决方案,...