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 相关文章推荐
jquery之Document元素选择器篇
Aug 14 Javascript
jQuery读取XML文件内容的方法
Mar 09 Javascript
javascript中call,apply,bind函数用法示例
Dec 19 Javascript
详解如何提高 webpack 构建 Vue 项目的速度
Jul 03 Javascript
详解Vuejs2.0 如何利用proxyTable实现跨域请求
Aug 03 Javascript
Node.js自定义实现文件路由功能
Sep 22 Javascript
其实你可以少写点if else与switch(推荐)
Jan 10 Javascript
详解React项目中碰到的IE问题
Mar 14 Javascript
送你43道JS面试题(收藏)
Jun 17 Javascript
javascript自定义日期比较函数用法示例
Jul 22 Javascript
javascript+Canvas实现画板功能
Jun 23 Javascript
基于JavaScript实现大文件上传后端代码实例
Aug 18 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
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
2012/07/16 PHP
zen_cart实现支付前生成订单的方法
2016/05/06 PHP
PHP检测链接是否存在的代码实例分享
2016/05/06 PHP
PHP实现的分解质因数操作示例
2018/08/01 PHP
js创建对象的几种常用方式小结(推荐)
2010/10/24 Javascript
基于jquery实现的表格分页实现代码
2011/06/21 Javascript
一个简单的JS鼠标悬停特效具体方法
2013/06/17 Javascript
js 图片随机不定向浮动的实现代码
2013/07/02 Javascript
js数组转json并在后台对其解析具体实现
2013/11/20 Javascript
jquery+html5制作超酷的圆盘时钟表
2015/04/14 Javascript
JS中创建函数的三种方式及区别
2016/03/13 Javascript
js实现内容显示并使用json传输数据
2016/03/16 Javascript
D3.js进阶系列之CSV表格文件的读取详解
2017/06/06 Javascript
详解jQuery中关于Ajax的几个常用的函数
2017/07/17 jQuery
微信小程序实现全国机场索引列表
2018/01/31 Javascript
JavaScript中的一些实用小技巧总结
2019/04/07 Javascript
JavaScript如何使用插值实现图像渐变
2020/06/28 Javascript
vue插件--仿微信小程序showModel实现模态提示窗功能
2020/08/19 Javascript
[01:10:03]OG vs EG 2018国际邀请赛淘汰赛BO3 第三场 8.23
2018/08/24 DOTA
[01:28]国服启动器接入蒸汽平台操作流程视频
2021/03/11 DOTA
Python单元测试框架unittest使用方法讲解
2015/04/13 Python
详解Python nose单元测试框架的安装与使用
2017/12/20 Python
python3利用Dlib19.7实现人脸68个特征点标定
2018/02/26 Python
Python实现模拟登录网易邮箱的方法示例
2018/07/05 Python
Python实现的批量修改文件后缀名操作示例
2018/12/07 Python
python matplotlib画图库学习绘制常用的图
2019/03/19 Python
Django之提交表单与前后端交互的方法
2019/07/19 Python
Python下应用opencv 实现人脸检测功能
2019/10/24 Python
Python 余弦相似度与皮尔逊相关系数 计算实例
2019/12/23 Python
python学生管理系统的实现
2020/04/05 Python
世界上最大的在线汽车租赁预订平台:Rentalcars.com(支持中文)
2018/10/12 全球购物
时尚圣经:The Fashion Bible
2019/03/03 全球购物
美国珠宝精品店:Opulent Jewelers
2019/08/20 全球购物
学校感恩教育活动总结
2014/07/07 职场文书
学习商务礼仪心得体会
2016/01/22 职场文书
带你学习MySQL执行计划
2021/05/31 MySQL