看透JavaScript:原理、方法与实践
上QQ阅读APP看书,第一时间看更新

4.2 用作对象

JS中的函数本身也是对象,是对象就可以有自己的属性。函数对象的属性一般是使用点操作符来操作的,可以通过点给对象的属性进行赋值,如果属性不存在则直接创建,如果存在,则可以修改其内容。函数对象的属性也可以是直接量、object对象和function对象三种类型中的任意一种。如果是function对象类型的属性,还可以通过点操作符来调用它执行相应逻辑。我们来看下面的例子。

    function func(){};
    func.val = "go";
    func.logVal=function(){
        console.log(this.val);
    }
    func.logVal();    //go

在上述代码中,首先定义了一个名为func的function函数对象,然后给它添加两个属性,一个是名为val的直接量属性,值为“go”,另一个是名为logVal的function对象属性,它的功能是在控制台打印出对象的val属性的值,最后使用点操作符调用logVal方法输出val属性的值“go”。这里用到了this关键字,可能有些读者对它不是很理解,没关系,本书会在后面专门讲解,这里大家只要知道function对象也可以当作普通object对象来使用就可以了。