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,会发现纯对象与函数对象的不同,如下图
  • 相关阅读:
    老友记实战,17上
    老友记实战,9下
    老友记实战,5下
    公共样式base.css
    单选框radio总结(获取值、设置默认选中值、样式)
    js tab切换
    HTTP状态码100、200、300、400、500、600的含义
    微信小程序事件绑定
    微信小程序获取手机验证码
    js滚动到指定位置导航栏固定顶部
  • 原文地址:https://www.cnblogs.com/goldli/p/4028251.html
Copyright © 2011-2022 走看看