JavaScript中的this关键字介绍与使用实例


Posted in Javascript onJune 21, 2013

当创建一个类的时候,如果希望下面new出来的每个类都拥有一些通用的变量或者其他的函数,这个this关键字这是最好的方式。

当然,既然是面向对象的语言,必然存在访问权限的问题,这里也和this关键字息息相关。下面我们来演示一个例子来说明一下这个类的访问权限的问题.

//Person类  
   function Person(){ 
    var name="abc";//var声明的都是类内部的私有变量,外部无法访问  
    var age = 20;     this.name2="edg";//this声明的是公开变量,外部可以访问  
    this.show=function(){//shou方法是公开的方法,可以被外部访问,而且可以访问类内部私有方法  
    window.alert(name); 
    } 
    function show2(){//shouw2方法是类内部的私有方法,不能被外部访问  
    } 
} 
var p1 = new Person(); 
document.writeln(p1.name2+p1.name); 
p1.show(); 
 //Person类 3water.com
    function Person(){
  var name="abc";//var声明的都是类内部的私有变量,外部无法访问
  var age = 20;
  this.name2="edg";//this声明的是公开变量,外部可以访问
  this.show=function(){//shou方法是公开的方法,可以被外部访问,而且可以访问类内部私有方法
  window.alert(name);
  }
  function show2(){//shouw2方法是类内部的私有方法,不能被外部访问
  }
 }

 var p1 = new Person();
 document.writeln(p1.name2+p1.name);
 p1.show();

这个Person其实就是一个类,类名就是Person,其中声明的变量,var开头的都是私有变量,只能在类的内部实现访

问,而通过this关键字声明的变量是公有的变量,可以在外部访问。当然,只需要公开一个方法,就可以实现外部访

问类内部的私有变量,这个this.show=function(){}就是声明一个共有方法,在类的外部也是可以调用的。当然,以此

类推,直接声明的方法是私有的方法/

下面再看一个例子

function test(){ 
    alert(this.v); 
} 
var v = 902; 
window.test(); 
 function test(){
  alert(this.v);
 }
 var v = 902;
 window.test();

代码很简短,这个的意思是,谁调用的这个方法,这个this就是指的那个对象,比如,window对象调用的test方法,

所以在test方法内部,这个this,v就是指在window也就是外部全局是否定义了一个v变量,通过查看可以知道,定义了

一个var v = 902;所以这个方法调用的其实就是v的值.

Javascript 相关文章推荐
Mootools 1.2教程 输入过滤第一部分(数字)
Sep 15 Javascript
jQuery操作Select选择的Text和Value(获取/设置/添加/删除)
Mar 06 Javascript
jquery 获取表单元素里面的值示例代码
Jul 28 Javascript
js 实现 input type="file" 文件上传示例代码
Aug 07 Javascript
jquery交替变换颜色的三种方法 实例代码
Nov 19 Javascript
详解Angular开发中的登陆与身份验证
Jul 27 Javascript
JavaScript页面实时显示当前时间实例代码
Oct 23 Javascript
js异步编程小技巧详解
Aug 14 Javascript
Vue+Vux项目实践完整代码
Nov 30 Javascript
浅谈React组件之性能优化
Mar 02 Javascript
Vue-router 切换组件页面时进入进出动画方法
Sep 01 Javascript
vue实现条件判断动态绑定样式的方法
Sep 29 Javascript
js验证模型自我实现的具体方法
Jun 21 #Javascript
JS验证控制输入中英文字节长度(input、textarea等)具体实例
Jun 21 #Javascript
无缝滚动js代码通俗易懂(自写)
Jun 19 #Javascript
HTML5之lang属性与dir属性的详解
Jun 19 #Javascript
jQuery之ajax技术的详细介绍
Jun 19 #Javascript
jQuery之尺寸调整组件的深入解析
Jun 19 #Javascript
jQuery之排序组件的深入解析
Jun 19 #Javascript
You might like
Discuz Uchome ajaxpost小技巧
2011/01/04 PHP
linux环境apache多端口配置虚拟主机的方法深入介绍
2013/06/09 PHP
20个最新的jQuery插件
2012/01/13 Javascript
JS实现点击图片在当前页面放大并可关闭的漂亮效果
2013/10/18 Javascript
JS中typeof与instanceof之间的区别总结
2013/11/14 Javascript
轻松创建nodejs服务器(7):阻塞操作的实现
2014/12/18 NodeJs
JavaScript中return false的用法
2015/03/12 Javascript
JSON字符串转JSON对象
2015/07/31 Javascript
Angular.js回顾ng-app和ng-model使用技巧
2016/04/26 Javascript
BootStrap中Tab页签切换实例代码
2016/05/30 Javascript
jQuery插入节点和移动节点用法示例(insertAfter、insertBefore方法)
2016/09/08 Javascript
BootStrap树状图显示功能
2016/11/24 Javascript
JS中传递参数的几种不同方法比较
2017/01/20 Javascript
使用contextMenu插件实现Bootstrap table弹出右键菜单
2017/02/20 Javascript
jQuery插件zTree实现的基本树与节点获取操作示例
2017/03/08 Javascript
利用js查找数组中指定元素并返回该元素的所有索引示例
2017/03/29 Javascript
Vue组件通信的四种方式汇总
2018/02/08 Javascript
小程序:授权、登录、session_key、unionId的详解
2019/05/15 Javascript
jQuery实现简单飞机大战
2020/07/05 jQuery
JS实现点击掉落特效
2021/01/29 Javascript
django自定义Field实现一个字段存储以逗号分隔的字符串
2014/04/27 Python
使用PyInstaller将Python程序文件转换为可执行程序文件
2016/07/08 Python
Python帮你识破双11的套路
2019/11/11 Python
python实现在多维数组中挑选符合条件的全部元素
2019/11/26 Python
以SQLite和PySqlite为例来学习Python DB API
2020/02/05 Python
python正则表达式的懒惰匹配和贪婪匹配说明
2020/07/13 Python
Python用户自定义异常的实现
2020/12/25 Python
CSS3制作轮播图的一种方法
2019/11/11 HTML / CSS
美国最大的珠宝商之一:Littman Jewelers
2016/11/13 全球购物
美国最大的在线生存商店:Survival Frog
2020/12/13 全球购物
Linux如何为某个操作添加别名
2015/02/05 面试题
《一件运动衫》教学反思
2014/02/19 职场文书
私人房屋买卖协议书
2014/10/04 职场文书
汇报材料怎么写
2014/12/30 职场文书
2015年银行客户经理工作总结
2015/04/01 职场文书
爱心捐款活动总结
2015/05/09 职场文书