您的位置:首页 > Web前端 > JavaScript

javascript定义对象写法

2015-11-25 10:55 253 查看
javascript定义对象的几种简单方法

1.构造函数方式,全部属性及对象的方法都放在构造方法里面定义

优点:动态的传递参数

缺点:每创建一个对象就会创建相同的方法函数对象,占用大量内存

  $(document).ready(function() {
       var user=new User1("jack","123456");
       var flag=user.login("jack","123456");
       alert(flag);
   });
   //利用构造方法生成对象
   function User1(name,password){
       this.name=name;
       this.password=password;
       this.login=function(name,password){
           if(this.name == name && this.password == password){
               return true;
           }else{
               return false;
           }
       }
2.动态原型方式:加一个判断属性,来判断该对象是否已经被创建过,如果被创建过,则方法就不在构建
优点:将原型函数写在对象定义里面
缺点:不支持继承
 $(document).ready(function() {
       var user=new User1("jack","123456");
       var user1=new User1("jack","123456");
   });
   //测试单例
   function User1(name,password){
       this.name=name;
       this.password=password;
       if(typeof User1._initialized=="undefined"){
           alert("是否继续生成");
          User1.login=function(name,password){
              if(this.name == name && this.password == password){
                  return true;
              }else{
                  return false;
              }
          }
       }
       User1._initialized = true;
   }

  }
3、JSON方式/对象直接量(强烈推荐用这种。)
格式:
var 对象名 = {
            变量1: 变量1的值,
            变量1: 变量1的值,
            ……,
           函数1: function() {
               函数体
          },
          函数2:function() {
               函数体
         }//Note:最后的逗号要去除为了和IE兼容。
};
//示例

 var data={
           name:"jack",
           age:"26",
           eat:function(){
               alert("i am eat");
           },
           sleep:function(){
               alert("i am sleep");
           }
   };

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  js 声明对象