美文网首页JavaScript学习笔记
了不起的NodeJS(二)

了不起的NodeJS(二)

作者: 我就是L | 来源:发表于2016-10-27 20:58 被阅读71次
  • factory
/**
 * 无法判定对象所属类型
 */
function createPerson(name, age, job) {
    return {
        name: name,
        age: age,
        job: job,
        say: function () {
            console.log(`my name is ${this.name},age is ${this.age},job is ${this.job}`)
        }//这里不可用箭头函数,箭头函数中的this,arguments不会被绑定,会沿着父环境逐级向上寻找
    }
}
var person1 = createPerson('lyf', 22, 'node');
person1.say();
  • constructors
/**
 * 每个方法会在每个实例上创建一次,即方法不被不同实例共享
 */
function Person(name, job) {
    this.name = name;
    this.job = job;
    this.say = function () {
        console.log(`my name is ${this.name},job is ${this.job}`);
    }
}
/**
 * 1、创建一个新对象
 * 2、将构造函数作用域赋值给新对象(即this指向新对象)
 * 3、执行构造函数中代码
 * 4、返回新对象
 */
/**
 * var p1=new Person()
 * 1、var p1={}
 * 2、p1.__proto__=Person.prototype
 * 3、Person.call(p1)
 */
var person = new Person('Lyf', 'node');
person.say();
console.log(person.constructor == Person)
  • prototype
/**
 * 所有对象共同使用同一数据,当a修改后b中访问也是修改后的值
 */
function Person() {
}
Person.prototype = {
    constructor: Person,
    name: 'Lyf',
    job: 'Node',
    say: function () {
        console.log(`my name is ${this.name},job is ${this.job}`)
    }
}
var person = new Person();
person.say();
  • constructors+prototype
/**
 * 完美
 */
function Person(name, job) {
    this.name = name;
    this.job = job;
    if (typeof this.say !== 'function')//只有第一次才会创建原型方法
        Person.prototype.say = function () {
            console.log(`my name is ${this.name},job is ${this.job}`)
        }
}
var person = new Person('Lyf', 'Node');
person.say();

相关文章

  • 了不起的NodeJS(二)

    factory constructors prototype constructors+prototype

  • 了不起的NodeJS(一)

    Node 异步IO、事件循环、非阻塞IO、回调 异步IO调用示意图IO被为文件读写,而文件被抽象为磁盘、网络套接字...

  • NodeJs 安装配置使用

    一. 下载地址 NodeJs:https://nodejs.org/download/ 二. 安装nodejs 1...

  • Vue3项目完整开发流程

    一、开发流程思维导图 二、前期准备 1、安装Nodejs 1)nodejs下载地址[https://nodejs....

  • NodeJS(二):NodeJS 调试

    1 通过命令行,打开谷歌控制台 上面代码,--inspect-brk 指定在第一行就设置断点。也就是说,一开始运行...

  • Vue环境搭建(vue-cli3创建项目)

    一、安装node.js(https://nodejs.org/en/) 二、设置nodejs prefix(全局)...

  • Nodejs(二)

    使用node来实现第一个http服务器

  • nodejs(二)

    如果要输出一个键值对象{},可以利用exports这个已存在的空对象{},并继续在上面添加新的键值;如果要输出一个...

  • Linux install nodejs

    Linux install nodejs1.第一种方法:nodejs二进制文件的部署安装 nodejs官网下载no...

  • Mac安装配置nodeJS

    一、下载NodeJS 下载地址:http://nodejs.cn/download/ 二、打开文件 三、打开文件依...

网友评论

    本文标题:了不起的NodeJS(二)

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