zoukankan      html  css  js  c++  java
  • js中创建对象的5种方法

    1、原始模式

    var  dog  =    {
        name: jack,
        length: 70,
        wang:function(){
            console.log(this.name);
        }

    2、工厂模式(批量)

    function  creatdog  (name,length) {
        var  moudle  =   new  object ();
        dog.name=name;
        dog.length=length;
        dog.wang=function(){
            console.log(this.name);
        };
        return moudle;
    }

    3、构造函数

    function  Dog (name,length) {
        this.name=name;
        this.length=length;
        this.wang=function() {
            console.log(this.name);
        };
    }
    var dog1 = new Dog( 'wangcai' , 80) //创建一个dog1对象
    
    Dog('wangcai', 80);    //属性方法都给window对象,window.name='wangcai',window.wang()会输出wangcai

    4、原型模式

    function  Dog () {}
    Dog.prototype.name = 'wangcai';
    Dog.prototype.length=80;
    Dog.prototype.wang= function () {
        console.log(this.name);
    };
    
    var  dog1 = new Dog();
    // dog1:name:'wangcai';length:80;f:wang()

    5、混合模式

    function Dog (name, length) {
     
        this.name = name;
     
        this.length = length;
     
    }
     
    Dog.prototype = {
     
        hobby: ['running','eat'];
     
        wang: function () { 
        console.log(this.name);
       } };
    var dog1 = new Dog('wangcai', 80); //dog1:'wangcai',80; __proto__: ['running','eat'],wang var dog2 = new Dog('defu', );70 //dog2:'defu',70;__proto__: ['running','eat'],wang
  • 相关阅读:
    CSS中em,rem的区别
    Bootstrap自学笔记
    lable标签的妙用
    Ajax
    基础小知识杂烩
    用CSS3画出一个立方体---转
    CSS3方法总汇
    HTML5 DOM扩展
    VS2010在C盘下生成的.iTrace文件解决办法 ,c盘偷偷的减少,心很烦啊,找了半天才知道是这个问题
    伪静态
  • 原文地址:https://www.cnblogs.com/jswzy/p/10165842.html
Copyright © 2011-2022 走看看