zoukankan      html  css  js  c++  java
  • [原创]javascript prototype 对象 函数 <精简的美丽......>

    javascript prototype 对象 函数

    在javascript中我们都知道创建一个对象使用如下代码
    var x = {}
    对象可以拥有属性和方法
    var x = {
        value : 0,
        add : function(a,b){
            return a + b;
        }
    }

    而创建一个函数时,使用
    var fx = function(){}    <func1>

    function fx(){}            <func2>

    这两种声明方式的区别是 func2 的优先级高于 func1。func2可以在函数所在文件加载后立即初始化。
    对象x是没有prototype属性的,且其实例化后也没有此属性。即
    var xIns = Object.create(x);
        xIns.prototype 的引用是错误的。
    因此,对象的方法是静态的,只能在对象声明时创建。
    函数则不同。函数只要被使用(初始化或调用)后都会有prototype属性。可以使用prototype来动态的添加属性或方法。
    所以,在javascript中对象可以划分为纯对象 var x = {} 与 函数对象 var obj = function(){}
    而要使用prototype动态扩展一些方法或属性则需要使用函数对象。
    综上所述,纯对象可以被看作是伪 prototype。
    以下测试用例:
    在html网页中输入
            function fx(){
            }

            var obj = {}
            
    在浏览器中打开网页,设置断点,然后展开this,会发现纯对象与函数对象的不同,如下图
  • 相关阅读:
    Java基础50道经典练习题(23)——求岁数
    Java基础50道经典练习题(22)——递归求阶乘
    团队第一阶段冲刺04
    团队第一阶段冲刺03
    团队第一阶段冲刺02
    团队第一阶段冲刺01
    软件工作进度01
    软团队项目01之电梯演讲视频
    团队项目1
    C语言动静态链接库使用(笔记)
  • 原文地址:https://www.cnblogs.com/goldli/p/4028251.html
Copyright © 2011-2022 走看看