// 对象:特指的某个事物,具有属性和方法(一组无序的属性的集合)
// 特征------>属性
// 行为------>方法

// 创建对象的四种方式

1 // 1.字面量的方式,就是实例化对象

 var stu1={
name:"小明",
age:20,
ID:20181111,
sex:"男",
eat:function(){
console.log("吃烩面");
},
readBook:function(){
console.log("平凡的世界");
}
}; // 2.调用系统的构造函数 var stu2=new Object();
stu2.name="小红";
stu2.age=19;
stu2.ID=20181112;
stu2.sex="女";
stu2.eat=function(){
console.log("吃米饭");
};
stu2.readBook=function(){
console.log("穆世林的葬礼");
};
//方式1、2 创建的对象没有propotype原型属性,3、4通过函数的形式创建的有prototype属性
prototype属性:为一个特定类声明通用的变量或者函数
不需要显式地声明一个prototype属性,因为在每一个构造函数中都有它的存在
var Person = function(){};

var p = new Person();

alert(p.__proto__ === Person.prototype);//true
 
 // 3.自定义构造函数的方式

 function Student(name,age,ID,sex){
this.name=name;
this.age=age;
this.ID=ID;
this.sex=sex;
this.sayHi=function(){
console.log("您好!");
};
}
//创建对象--->实例化一个对象,同时对属性进行初始化。
// 1.开辟空间存储对象
// 2.把this设置为当前的对象
// 3.设置属性和方法的值
// 4.把this对象返回
var stu3=new Student("小天",18,20181113,"男"); // 4.工厂模式创建对象 function student(name,age,ID,sex){
var obj = new Object();
obj.name=name;
obj.age=age;
obj.ID=ID;
obj.sex=sex;
obj.sayHi=function(){
console.log("您好!");
};
return obj;
}
var stu4=student("小菊",21,20181114,"女");

工厂模式和自定义构造函数创建对象的区别:

推荐使用自定义构造函数的方法创建对象

JS创建对象的四种简单方式 (工厂模式和自定义构造函数创建对象的区别)的更多相关文章

  1. js函数的四种调用方式以及对应的this指向

    一.函数调用,此时this是全局的也就是window 1 var c=function(){ 2 alert(this==window) 3 } 4 c()//true 二.方法调用 var myOb ...

  2. JS高级---工厂模式创建对象和自定义构造函数创建对象的区别

    创建对象:工厂模式和自定义构造函数的区别 共同点: 都是函数, 都可以创建对象, 都可以传入参数   区别:   工厂模式: 函数名是小写 有new, 有返回值 new之后的对象是当前的对象 直接调用 ...

  3. js创建对象的几种常用方式小结

    第一种模式:工厂方式  var lev=function(){ return "666"; }; function Parent(){ var Child = new Object ...

  4. js介绍,js三种引入方式,js选择器,js四种调试方式,js操作页面文档DOM(修改文本,修改css样式,修改属性)

    js介绍 js运行编写在浏览器上的脚本语言(外挂,具有逻辑性) 脚本语言:运行在浏览器上的独立的代码块(具有逻辑性) 操作BOM 浏览器对象盒子 操作DOM 文本对象 js三种引入方式 (1)行间式: ...

  5. CSS简单的四种引入方式

    CSS一共有四种引入方式 (1)最简单的两种方式是直接在html标签里面引入,或者在html文件前面声明,以下是简单的代码示例 <!DOCTYPE html> <html lang= ...

  6. 【温故知新】——原生js中常用的四种循环方式

    一.引言 本文主要是利用一个例子,讲一下原生js中常用的四种循环方式的使用与区别: 实现效果: 在网页中弹出框输入0   网页输出“欢迎下次光临” 在网页中弹出框输入1   网页输出“查询中……” 在 ...

  7. 浅谈js函数三种定义方式 & 四种调用方式 & 调用顺序

    在Javascript定义一个函数一般有如下三种方式: 函数关键字(function)语句: function fnMethodName(x){alert(x);} 函数字面量(Function Li ...

  8. js的数据类型、函数、流程控制及变量的四种声明方式

    运算符 基本运算符 加 + 减 - 乘 * 除 / 取余 % 自增 ++ eg: 1++ 或 ++1 自减 -- eg: 1-- 或 --1 注:++或--写在前面表示优先级最高,先进行自增或者自减 ...

  9. 黑马vue---18、v-for指令的四种使用方式

    黑马vue---18.v-for指令的四种使用方式 一.总结 一句话总结: (item, i) in list:什么in什么的形式,前面是各种参数 1.v-for循环普通数组? <p v-for ...

随机推荐

  1. 第七章 路由 70 路由-vue-router的基本使用

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  2. (六) Java数据库

    一.概述 程序开发没有数据库的参与,可以说几乎是不可能的.数据库和Java都已经有了简单的了解,现在的关键是对两者进行连接,起到这一作用的正是JDBC——Java Database Connectiv ...

  3. 快速开发MQTT(一)电子工程师眼中的MQTT

    转载:https://zhuanlan.zhihu.com/p/54669124 DigCore 主页http://www.digcore.cn 文章首发于同名微信公众号:DigCore 欢迎关注同名 ...

  4. Hadoop下MapReduce实现Pi值的计算

    Hadoop自带的例子中,有一个计算Pi值的例子. 这个程序的原理是这样的.假如有一个边长为1的正方形.以正方形的一个端点为圆心,以1为半径,画一个圆弧,于是在正方形内就有了一个直角扇形.在正方形里随 ...

  5. pytorch 图片处理.md

    本篇所有代码位置链接

  6. ibatis和mybatis中的BatchExecutor

    ibatis中的的处理方法 spring集成了ibatis的批量提交的功能,我们只要调用API就可以了 首先在你的dao中需要继承org.springframework.orm.ibatis.supp ...

  7. js差异化继承

    var parentObj={ name:"123456", get_name:function(){ return this.name; }, says:function(){ ...

  8. 一、Django入门

    1.安装: 下载地址:https://www.djangoproject.com/download/ 原文节选: How to get Django Django is available open- ...

  9. 流程控制(判断if switch)

    判断语句 判断条件比特别多大 时候用switch 其他时候if语句比较方便   1.if……else a) if(判断条件) {执行语句:}   b) else if (判断语句){执行语句:}   ...

  10. linux 查看系统性能

    1. 查看内存和CPU信息 cat /proc/cpuinfo                   cpu信息 cat /proc/meminfo |grep MemTotal    内存信息 查看物 ...