Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 870|回复: 0

[JavaScript] 三种简单写法教你Javascript对象封装

[复制链接]

该用户从未签到

发表于 2015-7-23 16:44:19 | 显示全部楼层 |阅读模式

这里的内容没有太多深入的东西,更多的内容请移步麦子学院。
  javascript在HTML中变得越来越强大, HTML5中的WebGL等。但是我们书写Javascript的时候往往很随意,使用对象的封装是极好的。这里介绍Javascipt三种创建对象的方法。
使用关键字new创建对象
Js代码 [url=]file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.gif[/url]
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代码 [url=]file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.gif[/url]
1.      
2.   var obj = new Object(); // 这里也可写成 var = {};  
3.   obj.name = "lingceng";  
4.   obj.age = 22;  

使用JSON创建(对象字面量的说法更准确,但JSON更好理解)
从Javascript1.2开始,创建对象有了更快捷的方式。
Js代码 [url=]file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.gif[/url]
1.   var p = {  
2.     name: "lingceng",  // "name":"lingceng这样加引号解析方式相同  
3.     gender: "male"  
4.   };  

实践方式
    结合构造函数和原型模式创建对象的方式很适合实践。
Js代码 [url=]file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.gif[/url]
1.   function Person(name,age)  
2.   {  
3.       // 实例属性  
4.       // 实例时多份拷贝  
5.       this.name=name;  
6.       this.age=age;  
7.   }  
8.            
9.   Person.prototype={  
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  


回复

使用道具 举报

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

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2024-4-25 18:52 , Processed in 0.386712 second(s), 47 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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