理解 JavaScript 构造函数与对象

先放上构造函数实例化的代码:

var cls = function() {
    this.val = 'cls 的值';
};
var clsobj = new cls();
console.log(clsobj.value);

通过 new 关键字, cls() 由普通的函数成了构造函数。this 指向了《JavaScript高级程序设计(第2版)》第6章“构造函数模式”一节中所说:在调用构造函数时创建的那个对象。

来看看对象字面量写法的代码:

var obj = {
    val: 'obj 的值'
};
console.log(obj.val);

在构造函数与对象中,this 的指向是不一样的。在《JavaScript高级程序设计(第2版)》第18章“函数绑定”一节中,this指向的 msg 为 undefined。

var handler = {
    msg: '事件的处理函数',
    handleClick: function(){
        console.log(this.msg);
    }
};
var elm = document.getElementById('container-1');
elm.onclick = handler.handleClick;

JS事件的内容请见《JS中的事件处理》。

(完)

posted on 2010-01-19 18:18  豆豆の爸爸  阅读(2798)  评论(0编辑  收藏  举报