Cet article présente principalement la méthode de constructeur JavaScript pour définir des objets. Les amis qui en ont besoin peuvent s'y référer
Javascript est un langage dynamique Vous pouvez ajouter des attributs aux objets au moment de l'exécution et supprimer des objets. >
Copier le code Le code est le suivant :
<html> <head> <script type="text/javascript"> /* //01.定义对象第一种方式 var object =new Object(); alert(object.username); //01.1增加属性username object["username"]="liujianglong"; //object.username="liujl"; alert(object.username); //01.2删除属性username delete object.username;//username属性已经从object对象中删除 alert(object.username); */ //02.定义对象第二种方式--在javascript中定义对象的一种最常见的方式 var object={name:"zhangsan",age:10,sex:"fale"}; alert(object.name); alert(object.age); alert(object.sex); </script> </head> <body> </body> </html>
Copier le code Le code est le suivant :
<!DOCTYPE html> <html> <head> <script type="text/javascript"> var array=[1,3,25]; ///////////////////////////////// var compare=function(num1,num2){ var temp1=parseInt(num1); var temp2=parseInt(num2); if(temp1<temp2){ return -1; }else if(temp1==temp2){ return 0; }else{ return 1; } } //array.sort(compare);//01.函数名是对象引用 //////////////////////////////// //02.匿名函数方式////////////////// array.sort(function c(num1,num2){ var temp1=parseInt(num1); var temp2=parseInt(num2); if(temp1<temp2){ return -1; }else if(temp1==temp2){ return 0; }else{ return 1; } }); ///////////////////////////////// alert(array); </script> </head> <body> </body> </html>
Copier le code Le code est le suivant :
<script type="text/javascript"> //01.基于已有对象扩充其属性和方法 var object=new Object(); object.username="zhangsan"; object.sayName=function (name){ this.username=name; alert(this.username); } alert(object.username); object.sayName("lisi"); alert(object.username); </script>
Copier le code Le code est le suivant :
<!DOCTYPE html> <html> <head> <script type="text/javascript"> //对象工厂方法 var createObject=function(){ var object=new Object(); object.username="zhangsan"; object.password="123"; object.get=function(){ alert(this.username+" , "+object.password); } return object; } var obj1=createObject(); var obj2=createObject(); obj1.get(); //修改对象2的密码 obj2["password"]="123456"; obj2.get(); </script> </head> <body> </body> </html>
Copier le code Le code est le suivant :
<!DOCTYPE html> <html> <head> <script type="text/javascript"> //所有对象共享的get方法 var get=function(){ alert(this.username+" , "+this.password); } //对象工厂方法 var createObject=function(username,password){ var object=new Object(); object.username=username; object.password=password; object.get=get;//注意:这里不写方法的括号 return object; } //通过工厂方法创建对象 var object1=createObject("zhangsan","123"); var object2=createObject("lisi","345"); //调用get方法 object1.get(); object2.get(); </script> </head> <body> </body> </html>
Copiez le code Le code est le suivant :
<!DOCTYPE html> <html> <head> <script type="text/javascript"> var get=function(){ alert(this.username+" , "+this.password); } function Person(username,password){ //在执行第一行代码前,js引擎会为我们生成一个对象 this.username=username; this.password=password; this.get=get; //在此处,有一个隐藏的return语句,用于返回之前生成的对象[这点是和工厂模式不一样的地方] } var person=new Person("zhangsan","123"); person.get(); </script> </head> <body> </body> </html>
<纯> Les inconvénients de créer des objets simplement à l'aide du prototype : ① ne peut pas transmettre les paramètres et ne peut modifier sa valeur qu'après la création de l'objet
Copier le codeLe code est le suivant :<🎜. >
Copier le codeLe code est le suivant :
L'utilisation de la méthode prototype pour définir un objet seul ne peut pas construire une fonction Lors de l'attribution de valeurs initiales à attributs, vous ne pouvez modifier les valeurs des attributs qu'après la génération de l'objet.<!DOCTYPE html> <html> <head> <script type="text/javascript"> function Person(){ } Person.prototype.username="zhangsan"; Person.prototype.password="123"; Person.prototype.getInfo=function(){ alert(this.username+" , "+this.password); } var person1=new Person(); var person2=new Person(); person1.username="lisi"; person1.getInfo(); person2.getInfo(); </script> </head> <body> </body> </html>
Cinquième méthode : utiliser la méthode prototype + constructeur pour définir les objets----Utilisation recommandéeLes attributs entre les objets n'interfèrent pas les uns avec les autres
Chaque objet partage la même méthode<!DOCTYPE html> <html> <head> <script type="text/javascript"> function Person(){ } Person.prototype.username=new Array(); Person.prototype.password="123"; Person.prototype.getInfo=function(){ alert(this.username+" , "+this.password); } var person1=new Person(); var person2=new Person(); person1.username.push("wanglaowu"); person1.username.push("wanglaowu2"); person2.password="456"; person1.getInfo (); person2.getInfo(); </script> </head> <body> </body> </html>
Le code est le suivant :
Sixième méthode : Méthode de prototype dynamique - il est recommandé d'utiliser
dans le constructeur Tous les objets partagent une méthode via des indicateurs et chaque objet a ses propres propriétés.
Copier le code<!DOCTYPE html> <html> <head> <script type="text/javascript"> //使用原型+构造函数方式来定义对象 function Person(){ //属性 定义在构造函数中 this.username=new Array(); this.password="123"; } //方法 定义在原型中 Person.prototype.getInfo=function(){ alert(this.username+" , "+this.password); } var p1=new Person(); var p2=new Person(); p1.username.push("zhangsan"); p2.username.push("lisi"); p1.getInfo(); p2.getInfo(); </script> </head> <body> </body> </html>
Recommandations associées :
Constructeur Javascript, privilèges publics, privés et statique définitions des membres Compétences Method_javascript
<!DOCTYPE html> <html> <head> <script type="text/javascript"> var Person=function (username,password){ this.username=username; this.password=password; if(typeof Person.flag=="undefined"){ alert("invoked"); Person.prototype.getInfo=function(){ alert(this.username+" , "+this.password); } Person.flag=true; } } var p1=new Person("zhangsan","123"); var p2=new Person("lisi","456"); p1.getInfo(); p2.getInfo(); </script> </head> <body> </body> </html>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!