zoukankan      html  css  js  c++  java
  • 奇怪的“函数”

    javascript是一种面向对象的语言,这已经是不争的事实,可是对象如何产生?如果按照我的想法,javascript中除了变量剩下的就是函数(个人理解,也不知对错),但是其文档中说javascript中处了基本类型,其余的都是对象,这个其余的包含了函数。

    我们知道在C#等语言中,对象是由构造函数产生的,构造函数是定义在类中的,而javascript是没有类的概念,那么对象是如何定义的,没错,就是函数,如下面的例子:

       function Person(name) {
            this.name = name;
            alert(this.name);
        }
        Person.prototype.getName = function () {
            return this.name;
        }

        function Test() {
            var Li = new Person("刘宇");

            alert(Li.getName());

        }

    在javascript中,我说这个函数奇怪,那如何奇怪呢,因为我们可以将定义好的函数直接赋给一个变量,甚至作为另一个函数的参数传递,函数作为参数传递,在C语言的函数指针中屡见不鲜,但是javascript中似乎没有指针这个概念,但是有对象,也就是函数,我们知道对象一般是指向内存的一个地址,我不知道在javascript中是不是这样,但是它的确可以这么用,看下面的例子吧!

      function Person(name) {
            this.name = name;
            alert(this.name);
        }
        Person.prototype.getName = function () {
            return this.name;
        }

        function Test() {
            var Li = new Person("刘宇");

            alert(Li.getName());


        }

        var pTest = Test;

        pTest();

  • 相关阅读:
    .net软件xcopy形式集成solr搜索引擎
    .net线程同步的一些知识
    .net 这些年发展 参考资料
    .net人员用Java 之Java EE
    Android Java 框架基础[知识点汇总]
    .net中集合、容器(Collection)的这些事
    基于JVM的动态语言Groovy MetaProgramming 知识集
    WPF Silverlight异同明细【推荐】
    .net框架中计时器(Timer)的这些事
    Windows系统工具推荐 Sysinternals
  • 原文地址:https://www.cnblogs.com/zuiyirenjian/p/2875978.html
Copyright © 2011-2022 走看看