首页 > 代码库 > javascript 构造函数方式定义对象

javascript 构造函数方式定义对象

  • javascript是动态语言,可以在运行时给对象添加属性,也可以给对象删除(delete)属性

<html> <head><script type="text/javascript">/*//01.定义对象第一种方式var object =new Object();alert(object.username);//01.1增加属性usernameobject["username"]="liujianglong";//object.username="liujl";alert(object.username);//01.2删除属性usernamedelete 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>

属性名:方法名  也是可以的.因为函数本身就是个对象

 

  • javascript 数组排序

<!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>

 

 

  • javascript中定义对象的几种方式(javascript中没有类的概念,只有对象 )

    • 基于已有对象扩充其属性和方法
<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>

这种方法具有局限性,因为javascript不像java那样具有类的概念,写一个类,之后new就可以得到一个具有了这些属性、方法的对象了。

这时如果要拥有object2就只能把上面来的代码再写一份,这是不太好的。

    • 工厂方式

类似于java中静态的工厂方法。

<!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>

javascript 构造函数方式定义对象