鱼C论坛

 找回密码
 立即注册
查看: 2953|回复: 0

[技术交流] 三种简单写法教你Javascript对象封装

[复制链接]
发表于 2015-7-23 16:56:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

这里的内容没有太多深入的东西,更多的内容请移步鱼C论坛。
  Javascript在HTML中变得越来越强大, HTML5中的WebGL等。但是我们书写Javascript的时候往往很随意,使用对象的封装是极好的。这里介绍Javascipt三种创建对象的方法。
  使用关键字new创建对象

Js代码   
1.          
2.        function Person(name, age) {   
3.          this.name = name;  
4.          this.age = age;  
5.        }  
6.        var p = new Person();   // 也可填充初始化属性,如new Person("lingceng", 22)   

使用Object直接创建对象
可以看出,这种方法扩展很方便。

Js代码   
1.          
2.        var obj = new Object(); // 这里也可写成 var = {};  
3.        obj.name = "lingceng";  
4.        obj.age = 22;  

使用JSON创建(对象字面量的说法更准确,但JSON更好理解)
从Javascript1.2开始,创建对象有了更快捷的方式。

Js代码   
1.        var p = {  
2.          name: "lingceng",  // "name":"lingceng这样加引号解析方式相同  
3.          gender: "male"  
4.        };  

实践方式
    结合构造函数和原型模式创建对象的方式很适合实践。


Js代码   
1.        function Person(name,age)  
2.        {  
3.            // 实例属性  
4.            // 实例时多份拷贝  
5.            this.name=name;  
6.            this.age=age;  
7.        }  
8.                  
9.        Person.prototype={  
10.                // http://developer.51cto.com/art/200907/134913.htm  
11.                //constructor属性始终指向创建当前对象的构造函数  
12.                // 因为原型被替换,所以需要恢复construtor的默认指向  
13.            constructor: Person,  
14.            showName:function(){  
15.                alert("ShowName in prototype:"+this.name);  
16.            },  
17.            showAge:function(){  
18.                alert(this.age);  
19.            }  
20.        }  
21.          
22.        var p =  new Person("lingceng", 22);  
23.        p.showAge(); // 22  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-18 16:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表