• JS面向对象基础


    在js中函数就是对象,对象就是函数。
    方法直接调用就是函数,用new调用就是对象。
    JavaScript中没有类的语法,是用函数闭包(closure)模拟出来的,下面讲解的时候还是用C#中的类、构造函数的概念,JavaScript中String、Date等“类”都被叫做“对象”,挺怪,但方便初学者理解,不严谨。JavaScript中声明类(类不是类,是对象)。

    Example(写一个Person对象):

    function Person()  {   }   //ok,就这么简单。

    如何使用Perosn对象?

    var p=new Person();// “var p”  不是   “Person p”。
    p.Name=‘张三’;//动态语言,所以可以直接写。
    p.Age=30;
    p.SayHello=function() { alert(‘Hi~’); }
    alert(p.Name);
    alert(p[‘Age’]);//另外一种动态访问属性的方式。

    闭包:简单的理解就是在函数(“外部函数”)中又定义了函数(“内部函数”),并且可以在“外部函数”之外,使用“内部函数”。

    JavaScript同样支持this关键字

    构建一个带参数的Person对象。通过this关键字为对象的属性赋值。

    function Person(name, age) {
    this.Name = name;
    this.Age = age;
    this.ShowInfo = function() {
    alert('大家好,我叫' + this.Name + ',今年' + this.Age + '岁了。');
    }}
    var zjl = new Person('周杰伦', 20);
    zjl.ShowInfo();

    function Person(name,age)可以看做是声明构造函数,Name、Age这些属性是使用者动态添加的。

    var p1 = Person(“周杰伦", 20);//不要丢了new,否则就变成调用函数了,p1为undefined。
    new 相当于创建了函数的一个实例。

    面向对象 参考文章:http://www.cnblogs.com/heros/archive/2009/09/14/1566622.html

  • 相关阅读:
    洛谷P1258小车问题
    洛谷P1028 数的计算
    P1980 计数问题
    洛谷P1907口算练习题
    2018icpc沈阳-K.Let the Flames Begin (约瑟夫环问题)
    Codeforces Round #585 (Div. 2) B. The Number of Products
    字符串部分模板总结
    CF-1209D Cow and Snacks (并查集,图)
    Codeforces Round #584 (div.1+div.2)(补题)
    HDU
  • 原文地址:https://www.cnblogs.com/jesselzj/p/2334030.html
Copyright © 2020-2023  润新知