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

// 创建对象的四种方式

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. Websocket @serverendpoint 404

    今天写一个前后端交互的websocket , 本来写着挺顺利的,但测试的时候蒙了,前端websocket发的连接请求竟然连接不上 返回状态Status 报了个404 ,然后看后台onError方法也没 ...

  2. string::append

    string (1) string& append (const string& str); substring (2) string& append (const strin ...

  3. AspectJ注解支持

    <aop:aspectj-autoproxy/> 配置aspectj启动 AspectJAutoProxyBeanDefintionParser implements BeanDefini ...

  4. 原来你是这样的 jsonp(原理与具体实现细节)

    前言 原文地址 仓库地址 jsonp(JSON with padding)你一定不会陌生,前端向后端拿数据的方式之一,也是处理跨域请求的得利助手. 我们早已习惯,早已熟练了jQ或者zepto的ajax ...

  5. 【Winform-自定义控件】一个自定义的进度条

    0.选择基类 public class MySlider : Control 1.设置控件的Style 在构造函数里添加: public MySlider() { //1.设置控件Style this ...

  6. Visual Studio 编译Winform程序不生成.vshost.exe和.pdb文件的方法

    问题:使用Visual Studio编译工程时,默认设置下,即使选择了「Release」时也会生成扩展名为「.vshost.exe」和「.pdb」的文件. 先解释一下各个文件的作用: .pdb文件: ...

  7. 部署LVS-NAT模式调度器

    创建集群服务器 [root@proxy ~]# yum -y install ipvsadm [root@proxy ~]# ipvsadm -A -t -s wrr 添加真实服务器 [root@pr ...

  8. Python之threading模块的使用

    作用:同一个进程空间并发运行多个操作,专业术语简称为:[多线程] 1.任务函数不带参数多线程 #!/usr/bin/env python # -*- coding: utf-8 -*- import ...

  9. Servlet中的乱码问题及解决办法

    假设现在有个form表单,当页面中提交一个包含中文的请求时,在服务端有可能出现中文乱码问题. <!DOCTYPE html> <html> <head> <m ...

  10. GDIPlus的使用准备工作

    GDIPlus的使用 stdafx.h加入如下代码: #include <comdef.h>//初始化一下com口 #include "GdiPlus.h" using ...