js 高级编程-属性/变量-访问权限
来源:互联网 发布:手机图纸软件 编辑:程序博客网 时间:2024/04/30 07:07
先声明,抄别人的。
本人对JS的高级编程也只是略知一二,近段时间老实遇到JS问题,索性做一个探索性的研究,现在把探索的结果记录下来:一来可以自己以后看看;二来供初学者学习。欢迎JS高手给予指点,发现问题请留言。
研究发现:我们可以将属性(变量)分为三类(对象属性,全局变量和局部变量),下面我来对三类属性(变量)的声明方法和访问权限做一下探究。
对象属性:声明时以“this.”开头,只能被“类的实例”即类的对象所调用,不能被“类内部”调用。
全局变量:声明时直接以变量名开头,可以被“类函数”、“原型函数”和“类内部”所调用。
局部变量:只能被“类内部”调用。
注:JS函数的声明与访问同理。
- <script type="text/javascript">
- //类
- var Hdx = function(){
- //对象属性(只能被“类的实例”和“实例函数”调用)
- this.age ="25";
- //全局变量(只能被“类函数”、“原型函数”和“类内部”调用)
- name="jack";
- //局部变量(只能被“类内部”调用)
- var address = "beijing";
- //全局函数(内部/全局直接调用)
- add = function(a,b){
- //只能访问:全局变量和局部变量
- multiply(a,b);
- return a+b;
- }
- //实例函数(由类的对象调用)
- this.minus = function(a,b){
- //可以访问:对象属性、全局变量和局部变量
- return a-b;
- }
- //局部函数(内部直接调用)
- var multiply = function(a,b){
- //只能访问:全局变量和局部变量
- return a*b;
- }
- }
- //类函数(由类名直接调用)
- Hdx.talk= function(){
- //只能访问:全局变量和全局函数
- this.what = function(){
- alert("What can we talk about?");
- about();
- }
- var about = function(){
- alert("about name:"+name);//jack
- alert("about add(1,1):"+add(1,1));//2
- }
- }
- //原型函数(由类的对象调用)
- Hdx.prototype.walk = function(){
- //只能访问:全局变量和全局函数
- this.where = function(){
- alert("Where can we go?");
- go();
- }
- var go = function(){
- alert("go name:"+name);//jack
- alert("go add(1,1):"+add(1,1));//2
- }
- }
- </script>
下面看看如何调用:
- <script type="text/javascript">
- //获取一个Hdx类的实例
- var hdx = new Hdx();
- //调用类的对象属性age
- alert("age:"+hdx.age);
- //获取类函数talk的实例
- var talk = new Hdx.talk();
- //调用类函数的实例函数
- talk.what();
- //获取原型函数walk的实例
- var walk = new hdx.walk();
- //调用原型函数的实例函数
- walk.where();
- </script>
- js 高级编程-属性/变量-访问权限
- JS对象高级属性:数据属性与访问器属性
- posix多线程有感--线程高级编程(条件变量属性)
- Js 访问数字属性(成员变量)的值
- 类成员变量访问权限
- 老紫竹JAVA基础培训(4)熟悉属性/变量的访问权限
- 《UNIX环境高级编程》笔记--文件访问权限和新文件、目录所有权
- 《UNIX环境高级编程》笔记9--文件访问权限和新文件、目录所有权
- 属性访问权限 for Python
- uc高级编程之权限
- JS的高级编程
- js 高级编程
- js高级编程-Bom
- js 高级编程
- js高级编程-Bom
- UNIX环境高级编程——线程同步之条件变量以及属性
- UNIX环境高级编程——线程同步之条件变量以及属性
- 编程思想-访问权限控制
- boost::bind效率上的注意事项
- 抗击惰性生活
- 你的细菌就是你
- 酒店点餐系统开发详解(一)
- 搭建 Silverlight 4 开发环境
- js 高级编程-属性/变量-访问权限
- 在MFC中用WriteProfileInt等方法保存应用程序配置
- 爱你无极限
- 尝试文件安全加密
- DIV css 相对父容器 水平、垂直 居中
- 我的快餐爱情
- 犯过的错误
- dumprep.exe 进程吃掉一半CPU
- Linux中如何释放cache内存 free