美文网首页
Javascript之创建对象

Javascript之创建对象

作者: eb116c5392b0 | 来源:发表于2016-07-27 13:18 被阅读25次

javascript之创建对象

学过面向对象编程的同学一定都知道,类是对象的模板,对象是根据模板创建的。

可是Javascript中没有类的概念,只有对象的概念,没有类怎么创建对象呢?

下面介绍两种创建javascript对象方法:

  • 直接赋值法
  • 构造函数法

直接赋值法

var shopProduct = {
    title:'上衣', // 对象的属性
    "brand":"优衣库",
    'price':300,   //key可以加引号或者双引号。
    getSunmary:function(){ //对象的方法
      return "titile: "+this.title+", brand: "+this.brand+", price: "+this.price;
    }
}

// 输出对象属性
console.log(shopProduct.title);
console.log(shopProduct.price);
console.log(shopProduct.brand);

构造函数法

先定义一个函数,然后用关键字new调用它,就会得到一个对象。

function  ShopProduct(name,brand,price)
{
    this.name =name;
    this.brand= brand;
    this.price = price;
    this.getSunmary = function(){
      return "titile: "+this.name+", brand: "+this.brand+", price: "+this.price;
    };

    return this;

}

shoes = new ShopProduct('shoes','nike',500);

console.log(shoes.name);
console.log(shoes.price);
console.log(shoes.brand);
console.log(shoes.getSunmary());

注意:

  1. 构造函数中的this指向新对象。
  2. 构造函数中虽然没有return,但是默认返回this。

相关文章

  • JS笔记-006-JS对象-数字-字符串-日期-数组-逻辑

    JS对象 创建 JavaScript 对象 通过 JavaScript,您能够定义并创建自己的对象。 创建新对象有...

  • Javascript之创建对象

    javascript之创建对象 学过面向对象编程的同学一定都知道,类是对象的模板,对象是根据模板创建的。 可是Ja...

  • 原型和原型链

    如何理解javascript的原型 每一个javascript对象在创建时就会与之关联另一个对象,之歌对象就是我们...

  • javascript面向对象之创建对象

    面向对象的思想主要是以对象为主,将一个问题抽象出具体的对象,并且将抽象出的对象和对象的属性和方法封装成一个类。 面...

  • JavaScript基础之创建对象

    JavaScript对象的创建 在JavaScript中创建一个对象有三种方式。可以通过对象直接量、关键字new和...

  • 创建对象的多种方式以及优缺点

    原文出处 JavaScript深入之创建对象的多种方式以及优缺点JavaScript高级程序设计(第3版) 1.工...

  • Javascript全局属性和方法

    JavaScript 全局属性和方法 JavaScript 可用于创建Javascript对象。 CONTENT ...

  • JavaScript创建对象

    创建对象 1.工厂模式 2.构造函数模式 3.原型模式 4.组合使用构造函数模式和原型模式 5.动态原型模式 6....

  • JavaScript — 创建对象

    一、工厂模式 可以无数次调用上面这个函数,解决创建多个相似对象的问题,但是没有解决对象识别的问题(即怎样知道一个对...

  • JavaScript 创建对象

    我们知道可以用Object的构造函数或对象字面量来创建对象,但是采用这些方式,创建多个对象,会产生大量重复的代码,...

网友评论

      本文标题:Javascript之创建对象

      本文链接:https://www.haomeiwen.com/subject/jzyojttx.html