js对象

来源:互联网 发布:怎么作曲编曲软件 编辑:程序博客网 时间:2024/05/18 00:37
//1.使用new运算符创建Object


// var o = new Object();
//     o.name = "三月";
//     o.age  = 20;
//     console.log(o.name + "---"+ o.age);


//2 2.new关键字可以省略


// var o = Object();
//     o.name = "二月";
//     o.age  = 21;
//     console.log(o.name + "---"+ o.age);




//3 使用字面量方式创建Object
// var o ={
// name:'四月',
// age:22
// };


//  console.log(o.name + "---"+ o.age);




//4.属性字段也可以使用字符串星矢
// var o ={
// 'name':'五月',
// 'age':23
// };
// console.log(o.name + "---"+ o.age);


//5.使用字面量及传统复制方式
// var o ={};
//     o.name = "六月";
//     o.age  = 24;
//     console.log(o.name + '---' + o.age);


//7.给对象创建方法


// var o = {
// run:function(){
// return "三月你个傻逼!";
// },
// pao:function(){
// var b ={}
//    b.name ="我是四月啊!";
//    b.age  = 20;
//    return b;
// }
// }
//   var t = o.pao();
//   console.log(o.run() + t.name);
//    delete t.name;//删除属性




  //字面量传值
// function o(obj) { 
// if (obj.name != undefined)  console.log(obj.name);
// if (obj.age != undefined)   console.log (obj.age);
 //    }


// o({
// name : '三月今年长大了',
// age : 25
// });






//创建对象
// var b = new Object();
//     b.name ="我叫三月";
//     b.age  = 18;
//     b.run  = function(){
//     return this.name + this.age + '我很好!';   //this就是b对象;
//     }


//     //console.log(b.run());
 
//     var a = b;
//         a.name ="我叫小三";
//         console.log(b.run());






//工厂模式


// function createFactory(a,b){
//       var obj = new Object();
//           obj.a = a;
//           obj.b = b;
//           obj.run = function (){
//             return this.a + this.b + '很好!';   //this就是obj对象; 


//           }
//             return obj;       
// }


//    var s1 =  createFactory("三月说","他跑得很快");
//    var s2 =  createFactory("四月说","三月比他大");
//     console.log(s1.run() + s2.run());
//     console.log(typeof s1);
//     console.log(s1 instanceof Object);




//构造函数
// function createGz(a,b){
// this.a = a;
// this.b = b;
// this.run =function(){
// return this.a + this.b + "我是跳出来的!";
// }
// }


//  var g1 = new createGz("三月","他说是sb");
//  var g2 = new createGz("五月","他说是sb");
//  console.log(g1.run() + g2.run());


//原型
// function yx(a,b){
//      yx.prototype.a = a;
//      yx.prototype.b = b;
//      yx.prototype.run = function(){
//       return this.a + this.b +'是sb';
//      }
  
//  }


//   var y1 = new yx('三月说','他自己是');
//   console.log(y1.run());
//  // var y2 = new yx();
//  //console.log(y1.run() == y2.run()); //true,方法的引用地址保持一致
//  console.log(y1.__proto__);
//  console.log(yx.prototype.isPrototypeOf(yx));




function isProperty(object, property) { //判断原型中是否存在属性
return !object.hasOwnProperty(property) && (property in object);
}


var box = new Box();
console.log(isProperty(box, 'name')) //true,如果原型有



0 0