2016年4月28日

[TOC]

2016年4月28日

javascript

javascript原型与闭包

    function Fn() { }
    Fn.prototype.name = '王福朋';
    Fn.prototype.getYear = function () {
        return 1988;
    };

    var fn = new Fn();
    console.log(fn.name);
    console.log(fn.getYear());

Fn是一个函数,fn对象是从Fn函数new出来的,这样fn对象就可以调用Fn.prototype中的属性。

因为每个对象都有一个隐藏的属性:“__proto__”,这个属性引用了创建这个对象的函数的prototype。即:

fn.__proto__ === Fn.prototype

函数与对象之间,不仅仅是一种包含和被包含的关系,函数和对象之间的关系比较复杂,甚至有一点鸡生蛋蛋生鸡的逻辑。

Object 和 Array 都是函数:

  • valueOf方法,toString方法

valueOf方法返回数组本身。

toString 方法返回数组的字符串形式。

  • push(),pop()

push方法用于在数组的末端添加一个或多个元素,并返回添加新元素后的数组长度。注意,该方法会改变原数组。

pop方法用于删除数组的最后一个元素,并返回该元素。

  • join(),concat()

join方法以参数作为分隔符,将所有数组成员组成一个字符串返回。

Last updated

Was this helpful?