函数和对象的关系

本文深入探讨了JavaScript中函数与对象之间的关系,并通过实例演示了如何使用构造函数创建对象及对象属性的设置过程。此外,还对比了不同数据类型如数组、对象等的创建方式及其类型特性。
<script>
    /**
     * 函数和对象的关系
     */

    function Fn() {
        this.name = '王福朋';
        this.year = 1988;
    }
    var fn1 = new Fn(); //函数都是有对象创建的
    alert(typeof fn1)//function
    alert(typeof Fn)//object


    var obj = { a: 10, b: 20 };
    var arr = [5, 'x', true];
    /**
     *上面其实是简化形式,正常的形式
     *
     */
    obj=new Object();
    obj.a=10;
    obj.b=20;
    arr=new Array();
    arr[1]=5;
    arr[2]='x';
    arr[3]=true;
    alert(typeof Object);//function
    alert(typeof Array);//function
    
</script>
常成员函数对象是C++中的两个概念,它们之间有一定的关系。 常成员函数(const member function)是指在类中声明并定义时使用 `const` 修饰的成员函数。这样的函数在执行过程中不会修改对象的状态。常成员函数可以通过常对象进行调用,也可以通过非常对象进行调用。 常对象(const object)是指在创建对象时使用 `const` 关键字进行声明定义的对象。常对象的状态在创建后不能被修改。对于常对象,只能调用其常成员函数,不能调用非常成员函数。 常成员函数的设计目的是为了确保在该函数内部不会对对象进行修改,从而提供了对常对象的访问保护。通过将成员函数声明为常成员函数,可以在编译期间进行检查,防止对常对象进行非法修改。 下面是一个示例,演示常成员函数对象关系: ```cpp class MyClass { public: int getValue() const { return value; } void setValue(int newValue) { value = newValue; } private: int value; }; int main() { const MyClass obj; // 声明一个常对象 int val = obj.getValue(); // 可以调用常成员函数 cout << "Value: " << val << endl; obj.setValue(42); // 错误!不能调用非常成员函数 return 0; } ``` 在上面的示例中,`MyClass` 类有一个常成员函数 `getValue()` 一个非常成员函数 `setValue()`。在 `main()` 函数中,创建了一个常对象 `obj`。可以通过 `obj` 调用常成员函数 `getValue()` 来获取对象的值,但不能调用非常成员函数 `setValue()` 来修改对象的值。 总结来说,常成员函数对象关系是:常对象只能调用常成员函数,而常成员函数保证在其内部不会修改对象的状态,从而提供了对常对象的访问保护。 希望这个解答对你有帮助!如果还有其他问题,请随时提问。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值