zoukankan      html  css  js  c++  java
  • 构造函数

    1. es6方案
        Object.create 根据指定的原型创建新对象,原型可以是 null; 
        Object.getPrototypeOf 获得一个对象的原型; 
        Object.setPrototypeOf 设置一个对象的原型
    
        Object.create(proto, [propertiesObject])
        语法使用, proto 是对象原型, propertiesObject可有可无
    
    2.es5方案
    通过new的方式去创建
    eg 
    2.1 构造器中添加属性
        function c1() {
            this.p1 = '测试1'
        this.p2=function() {
                console.log(this.p1)
            }
        }
        var o1 = new c1
        o1.p2()
        涉及到一个this的指向问题, 这个里的this 指向函数或者说是函数的调用者
    2.2 构造器的 prototype 属性上添加属性
        function c2() {
            c2.prototype.p1 =1
            c2.prototype.p2 = function () {
                console.log(this.p1)
            }
        }
        var o2 = new c2
        o2.p2()
    
    2.3 class关键字
        class Proto {
            dis() {
                this.width = width
                this.height = height
            }
            pp () {
                return this.width + this.height
            }
        }
        let ccc = new Proto(3, 9)
        console.log(ccc.pp())
        注意,new 的时候就要传入参数,要不然会是NAN
        extends 提供了继承能力
        eg:下面例子中的test1继承了 rectangle基本属性
        class test1 extends rectangle {
            constructor(height, width) {
                super(width, height)
            }
            say() {
                return this.width + this.height
            }
        }
        var bbb = new test1(3, 6)
        console.log(bbb.say())
    class 关键字和箭头运算符可以完全替代旧的 function 关键字
  • 相关阅读:
    数据库对象命名参考
    写有效率的SQL查询(I)
    一個常用的phpclass類
    写有效率的SQL查询(IV)
    深入浅出理解索引结构
    Java初学者:Jsp开发环境配置全过程
    总结性知识:做网站的一些定律
    如何在JBuilder2007中配置MyEclipse
    幾個有用的ASP Function
    [SQL] 系统存储过程
  • 原文地址:https://www.cnblogs.com/ralapgao/p/10823753.html
Copyright © 2011-2022 走看看