<html> <head> <script> /* 5.动态原型法 */ function DCar(name,price){ this.name=name; this.price=price; if(DCar.initial='undefined'){ DCar.prototype.displayC=function(){alert(this.name+"----"+this.price)}; } DCar.initial=true; } var c1=new DCar('bmw','30'); c1.displayC(); for(var prop in c1){ alert(prop+"----"+c1[prop]);//方法也会显示出来 } // 4. 混合的构造函数/原型方式(推荐) /* 联合使用构造函数和原型方式,就可像使用其他程序设计语言一样创建对象,这种概念非常简单, 即用构造函数定义对象的所有非函数属性,用原型方式定义对象的函数属性(方法)。 */ function hCar(sColor){ this.color = sColor; this.drivers = new Array('Mike','Sue'); } hCar.prototype.showColor = function(){ alert(this.color); } /* var hcar1 = new hCar('y color'); var hcar2 = new hCar('r color'); hcar1.drivers.push('Matt'); alert(hcar1.drivers); // output "Mike,Sue,Matt" alert(hcar2.drivers); // output "Mike,Sue" */ /** *3.使用原型的方式 如何在构造方法中传参数?? */ function CarClass(){ } CarClass.prototype.name=""; CarClass.prototype.price=""; CarClass.prototype.displayCar=function(){ alert(this.name+'---'+this.price); } /* var c1=new CarClass(); c1.name="bmw"; c1.price="30"; c1.displayCar(); var c2=new CarClass(); c2.displayCar(); */ /** *2.构造方法模式 1).使用this来定义对象的属性和方法 2).定义方法时直接使用function(){},而不写方法名 3).使用var 定义一个变量。 */ function Car(name,price){ this.name=name; this.price=price; this.displayCar=function(){ var a=this.name+"--"+this.price; alert(a); } } /* var c1=new Car("bmw","red"); c1.displayCar(); var c2=new Car("QQ","yellow");c2.displayCar(); delete c1.price; c1.displayCar(); alert(c1.name+"--"+c2["name"]); //用[]属性名称时必须加引号 */ /* 1.工厂方法模式 */ function generateCar(){ var car=new Object(); car.name="bmw"; //这里写成car.dispalyName(){}是不可以的 car.dispalyName=function(){ alert(this.name); };//注意这个分号不可以少 return car;//注意return 不可以省略,省了之后没有对象返回 } /* var carBmw1=generateCar(); carBmw1.dispalyName(); //bmw var carBmw2=generateCar(); carBmw2.name="QQ"; carBmw1.dispalyName(); //bmw carBmw2.dispalyName(); //qq */ </script> <title> js创建对象的几种方式 </title> <body> <script> </script> </body> </html>
相关推荐
JavaScript对象创建的九种方式
javascript对象创建方法总结,通过这些方法的总结,可以对对象有了更深一步的了解,也加深了对对象的巩固认识。
NULL 博文链接:https://redhacker.iteye.com/blog/1457293
文章《javascript对象创建--类、继承》源码
javascript面向对象创建对象的方式小结.docx
NULL 博文链接:https://yueyemaitian.iteye.com/blog/781915
NULL 博文链接:https://redhacker.iteye.com/blog/1458580
详解js创建对象的几种方式和对象方法 这篇文章是看js红宝书第8章,记的关于对象的笔记(第二篇)。 创建对象的几种模式: 工厂是函数的意思。工厂模式核心是定义一个返回全新对象的函数。 function getObj...
javascript创建对象、对象继承的有用方式详解_.docx
第一种创建对象的方式: 创建JSON对象 推荐使用的场合: 作为函数的参数,临时只用一次的场景。比如设置函数原型对象。 var object = { name: "Eric", age: 24, sayHi: function(){ console.log("My name is ...
NULL 博文链接:https://redhacker.iteye.com/blog/1457020
JavaScript中的Math对象的与众不同之处在于,它是一个全局对象...在使用Math对象之前,既不需要将一个变量声明为Math对象,也不需要定义一个新的Math对象,JavaScript将自动地创建好Math对象,我们只须直接使用它即可。
javascript对象的创建和访问_.docx
以下几种,是javascript中最常用的创建对象的方式。初学者看到后,可能会晕掉,甚至会觉得担心。其实完全不用担心,这些种方式,只需要掌握一两种,对其他的几种只需要理解就好了
详细介绍了Javascript中创建对象的几种方式与每种方式的优缺点,其中包括工厂模式、构造函数模式、原型模式和组合使用构造函数模式和原型模式,有需要的小伙伴们一起来学习学习吧。
主要为大家介绍了创建对象的9种方式,帮助大家更好地学习javascript面向对象,感兴趣的小伙伴们可以参考一下
在javascript中创建对象的三种方法,脚本之家以前发布过有简单实例版的,大家可以参考下。
如下所示: 代码如下: var person...上面的例子创建了一个名为person的对象,并为它添加了三个属性(name、age和job)和一个方法(sayName())。其中,sayName()方法用于显示this.name()的值。早期的JavaScript开发人员
javascript动态创建对象的属性详解.docx