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定时器
Nov 17 Javascript
jquery datepicker参数介绍和示例
Apr 15 Javascript
JS小游戏之仙剑翻牌源码详解
Sep 25 Javascript
贴近用户体验的Jquery日期、时间选择插件
Aug 19 Javascript
jQuery表单验证功能实例
Aug 28 Javascript
如何正确理解javascript的模块化
Mar 02 Javascript
Vue 换肤的示例实践
Jan 23 Javascript
Angular5中调用第三方js插件的方法
Feb 26 Javascript
Vue使用vue-area-linkage实现地址三级联动效果的示例
Jun 27 Javascript
在vue项目中引入高德地图及其UI组件的方法
Sep 04 Javascript
vue基础之使用get、post、jsonp实现交互功能示例
Mar 12 Javascript
Node.js API详解之 dgram模块用法实例分析
Jun 05 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下实现在指定目录搜索指定类型文件的函数
2008/10/03 PHP
PHP 开源框架22个简单简介
2009/08/24 PHP
php学习笔记(三)操作符与控制结构
2011/08/06 PHP
php摘要生成函数(无乱码)
2012/02/04 PHP
php获取文件内容最后一行示例
2014/01/09 PHP
PHP获得数组交集与差集的方法
2015/06/10 PHP
PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)
2016/09/11 PHP
js Dialog 去掉右上角的X关闭功能
2014/04/23 Javascript
可编辑下拉框的2种实现方式
2014/06/13 Javascript
jQuery EasyUI学习教程之datagrid点击列表头排序
2016/07/09 Javascript
nodejs操作mongodb的增删改查功能实例
2017/11/09 NodeJs
Quasar Input:type="number" 去掉上下小箭头 实现加减按钮样式功能
2020/04/09 Javascript
如何使用JS console.log()技巧提高工作效率
2020/10/14 Javascript
把MySQL表结构映射为Python中的对象的教程
2015/04/07 Python
详解python实现识别手写MNIST数字集的程序
2018/08/03 Python
python实现简单flappy bird
2018/12/24 Python
Python 进程之间共享数据(全局变量)的方法
2019/07/16 Python
使用python从三个角度解决josephus问题的方法
2020/03/27 Python
用纯css3实现的图片放大镜特效效果非常不错
2014/09/02 HTML / CSS
J.Crew官网:美国知名休闲服装品牌
2017/05/19 全球购物
联想德国官网:Lenovo Germany
2018/07/04 全球购物
多媒体编辑专业毕业生推荐信
2013/11/05 职场文书
应届生的求职推荐信范文
2013/11/30 职场文书
经销商培训邀请函
2014/01/21 职场文书
庆八一活动方案
2014/01/25 职场文书
远程研修随笔感言
2014/02/10 职场文书
《白鹅》教学反思
2014/04/13 职场文书
中国梦口号
2014/06/13 职场文书
乡镇党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
2014年超市工作总结
2014/11/19 职场文书
教师岗位职责
2015/02/03 职场文书
2016国庆节活动宣传语
2015/11/25 职场文书
深度学习tensorflow基础mnist
2021/04/14 Python
CSS3新特性详解(五):多列columns column-count和flex布局
2021/04/30 HTML / CSS
Mysql忘记密码解决方法
2022/02/12 MySQL
HttpClient实现文件上传功能
2022/08/14 Java/Android