zoukankan      html  css  js  c++  java
  • new命令简化的内部流程

    构造函数返回对象的一些问题:

    function fn(name,age){
            this.name = name;
            this.age = age;
            //return 23; 忽略数字,直接返回原有对象
            //return {};如果是对象直接顶替原有默认返回的对象
            //如果没有return 则默认返回对象
        }

    new命令简化的内部流程,可以用下面的代码表示

    function _new(/*构造函数*/constructor,/*构造函数参数*/params){
            /*把参数转化为数组*/
            var args = [].slice.call(arguments)
            /*分理出构造函数*/
            var constructor = args.shift()
            /*创建一个空对象,并继承构造函数的原型*/
            var context = Object.create(constructor)
            /*执行构造函数*/
            var result = constructor.applay(context,params)
            //返回结果对象,就直接返回,否则返回 context 对象,如果构造函数有return 返回值,则result有值
            return (typeof result === 'Object' result != null) ? result : context 
        }
  • 相关阅读:
    Linux命令——find
    Linux命令——locate
    python模块:datetime
    python模块:json
    python模块:shelve
    python模块:shutil
    python模块:sys
    python:OS模块
    str.index()与str.find()比较
    python模块:re
  • 原文地址:https://www.cnblogs.com/jokes/p/9712633.html
Copyright © 2011-2022 走看看