zoukankan      html  css  js  c++  java
  • JavaScript 面向对象(四)构造函数

     

    4、构造函数

    至今,我们已经学习了非常多的调用函数的方式:

    1对象打点调用
    2圆括号直接调用 ==>
    3定时器调用 ==>匿名 全局 直接叫上面两种函数,严格模式下里面的this都是undefined ,非严格模式下是windows
    4事件处理函数调用 ==>
    5数组枚举调用
    它们体现的不同点就是函数上下文不用,它们里面的this不一样!
    6新的函数调用方法!就是function被当作构造器
    用 new 运算符来调用函数!new 就是一个运行函数的运算符
    'new运算符能够调用函数,还能返回一个对象'

    用new运算符调用一个函数的时候,会经历四步走:

    1函数内部悄悄的创建一个局部变量,是一个空对象{}。
    2函数将自己的上下文设置为这个空对象{},
    即所有语句中的'this就表示这个空对象。''
    3函数将执行所有语句。
    4所有语句执行后,函数将return这个对象,函数将把自己的上下文返回。

    0作用
    用new 操作符('实例化'),可以返回具有相同属性群的对象:
    function People(name,age,sex) {
    this.name =name;
    this.age =age;
    this.sex =sex;
    }
    var ming =new People('ming',12,'nan');
    var hong =new People('hong',11,'nv');
    console.log(ming);
    console.log(hong);

    people {name: "ming", age: 12, sex: "nan"}
    people {name: "hong", age: 11, sex: "nv"}

    可以认为 People 是一个“类(class)”,
    ming , hong , 都是这个类的“实例(instance)”。

    'JS中没有类的概念',我们这里只是和 Java、C++、C# 做一个类比,
    'JS中只有构造函数',
    '当一个函数被new操作符调用的时候,这个函数就是一个构造函数,'
    用 new 来多次调用同一个函数,它总能返回一类的具有相同属性群的对象,
    可以称这些对象是“同一个类的实例”,或者称为“同一类的对象”。
    感觉在“构造东西”。所以这个函数很神奇,像一个模子,在制作类似的对象。

    为了提醒其他程序猿,这是一个必须用new调用的函数,
    换句话说'提醒别人这是一个构造函数',这类'函数的名字必须首字母大写'。

    'JS中没有Class关键字(ECMAScript2016 增加了Class关键字)',
    使用new操作符的时候,会按‘四步走’创建一些些具有相同属性群的实例,
    此时就感觉有了‘类’,'JS只提“构造函数”,而不提“类”。''

    'JS不是一个面向对象(OO)的语言,它只是基于对象(BO)。'

    1问是不是构造函数
    ==>'用new调用它就是一个构造函数,不用new调用就不是,'
    var obj =people('sda',12,'sd');console.log(obj);
    VM1869:1 undefined

     

  • 相关阅读:
    使用validwhen设计复杂的Struts表单验证
    http://wiki.jfrog.org/confluence/display/RTF/Understanding+Repositories
    我的JDK是1.5得啊,我的maven2也是2.0.9的最新版本的,这个是底层接口的泛型,又不能删除,请教用过的高手怎样解决啊?
    Oracle的rownum原理和使用
    Maven 搭建环境(http://dearshor.javaeye.com/blog/272274)
    使用nexus替代artifactory作为maven私服
    [转]关于struts中validate的几种情况
    用Artifactory管理内部Maven仓库
    容器
    天生一对"Maven2+Jetty" Maven2创建并管理WebApp,并使用Maven Jetty Plugin在Eclipse中调试
  • 原文地址:https://www.cnblogs.com/dork/p/13975548.html
Copyright © 2011-2022 走看看