您的位置:知识库 » Web前端

JavaScript对象探讨

作者: 蓝色理想  来源: 蓝色理想  发布时间: 2009-12-14 09:59  阅读: 1934 次  推荐: 0   原文链接   [收藏]  

  2.类的封装

  在Java里,对类的方法或是属性,可以设置为私有,这样就可以避免外部的调用,而JavaScript却不存在这样的设置,看看下面的代码:

var person = {
name:
null,
init:
function(name){
this.setName(name);
},
setName:
function(name){
this.name = name;
return this.name;
}
}
person.init(
'tom'); //tom

  在这个类里,一共有2个方法,分别是init和setName,而我们只希望从init中运行setName,或是以后将会为里面添加的各种方法,而不希望出现:

person.setName('tom'); //tom

  直接调用setName方法,正确的说,希望setName方法私有,还有name属性私有.避免别的程序员使用你的类时,调用了不想被调用的方法. 那应该怎么对类的封装好呢?试试另一种编程方式吧,看看改版的怎么样:

var person = function(){
var name = null;
var setName = function(n){
name
= n;
return name;
}
return{
init:
function(n){
setName(n);
}
}
}

  这样子,就可以讲原本要私有化的方法和属性私有化了,外部无法直接调用了.这也是利用了闭包而达成所需要的方式的.可是这种编程方式不易于读,尤其是新手看到这种代码会很吃力,还有在占用内存方面也要比一般的高些. 好了,暂时先介绍到这里,下次有时间在说说闭包与作用域.

0
0
标签:JavaScript

Web前端热门文章

    Web前端最新文章

      最新新闻

        热门新闻