2015-03-10——简析javascript对象

对于构造函数,它是Function对象的一个实例,可以定义自己的静态成员
先实例化出对象,后执行function中内部代码

静态成员:  
var abc = function () {};  //既是一个实例,也是一个构造函数
abc.a = '1';  //静态属性
abc.b = function() {};  //静态方法

原型中的公有成员:  原型一旦修改,会立刻改变基于它生成的对象和实例
abc.prototype.aaa = function () {};

私有成员,特权成员控制访问    会被带到该构造函数生成的每个实例中,实例越多,占用内存越大
私有成员,就是在另一个函数中定义的变量和函数
function abc () {
    this.a = '3';
    //私有属性
    var b = '4';
    //私有方法
    function aaa() {
    
    }
}
特权成员(也是公有成员),指在构造函数作用域中,使用this关键字定义的方法。
function abc() {
    var a = '3';
    var b = function () {};
    //特权方法
    this.ab = function () {
            alert(a);
        };
}

两种定义函数的方式
javascript执行之前,浏览器会对window对象下的所有顶级变量进行声明,通过赋值语句实现的函数,声明时不会被立即初始化。
function abc() {}   //可以在函数执行之前,立即被初始化,可以在任意位置调用。
var abc = function () {}  //脚本执行到该行之前,abc函数并不存在;该函数的调用只能在该赋值语句之后。


this,是一个依赖于使用它的执行环境被解析的关键字。

apply 和 call 仅使用方式上有差别

apply在调整this执行环境,并包装成一个匿名函数特别有用。
function bindFunction(obj, func) {
    return function () {
        func.apply(obj, arguments);
    };
}

异常
try {
} catch (e) {
    console.log(e.name);
    console.log(e.message);
}

posted @ 2015-03-10 16:35  bugong  阅读(116)  评论(0编辑  收藏  举报