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 相关文章推荐
Ajax一统天下之Dojo整合篇
Mar 24 Javascript
jQuery 网易相册鼠标移动显示隐藏效果实现代码
Mar 31 Javascript
JavaScript生成GUID的多种算法小结
Aug 18 Javascript
JS复制到剪贴板示例代码
Oct 30 Javascript
Jquery中的层次选择器与find()的区别示例介绍
Feb 20 Javascript
JavaScript对象创建模式实例汇总
Oct 03 Javascript
AngularJS自定义插件实现网站用户引导功能示例
Nov 07 Javascript
ES6正则的扩展实例详解
Apr 25 Javascript
Vue制作Todo List网页
Apr 26 Javascript
在React项目中使用Eslint代码检查工具及常见问题
Oct 10 Javascript
微信小程序常见页面跳转操作简单示例
May 01 Javascript
layer.alert自定义关闭回调事件的方法
Sep 27 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中文本数据翻页(留言本翻页)
2006/10/09 PHP
PHP中json_encode、json_decode与serialize、unserialize的性能测试分析
2010/06/09 PHP
PHP新手入门学习方法
2011/05/08 PHP
使用PHP计算两个路径的相对路径
2013/06/14 PHP
解决Codeigniter不能上传rar和zip压缩包问题
2014/03/07 PHP
js实现checkbox全选、不选与反选的方法
2015/02/09 Javascript
jQuery+HTML5实现手机摇一摇换衣特效
2015/06/05 Javascript
javascript实现一个数值加法函数
2015/06/26 Javascript
javascript中数组和字符串的方法对比
2016/07/20 Javascript
BootStrap 可编辑表Table格
2016/11/24 Javascript
解析NodeJS异步I/O的实现
2017/04/13 NodeJs
JS简单生成随机数(随机密码)的方法
2017/05/11 Javascript
jQuery判断网页是否已经滚动到浏览器底部的实现方法
2017/10/27 jQuery
JavaScript数据结构与算法之二叉树遍历算法详解【先序、中序、后序】
2019/02/21 Javascript
JavaScript实现简单的图片切换功能(实例代码)
2020/04/10 Javascript
JS数组Reduce方法功能与用法实例详解
2020/04/29 Javascript
[46:55]LGD vs Liquid 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
从零学python系列之数据处理编程实例(一)
2014/05/22 Python
Python中的多重装饰器
2015/04/11 Python
python使用PyGame绘制图像并保存为图片文件的方法
2015/04/24 Python
Python下线程之间的共享和释放示例
2015/05/04 Python
python爬虫实例详解
2018/06/19 Python
Python图像处理之图像的读取、显示与保存操作【测试可用】
2019/01/04 Python
Pytorch中accuracy和loss的计算知识点总结
2019/09/10 Python
Python面向对象之继承原理与用法案例分析
2019/12/31 Python
Python基于百度AI实现OCR文字识别
2020/04/02 Python
Python优秀开源项目Rich源码解析的流程分析
2020/07/06 Python
Python scrapy爬取小说代码案例详解
2020/07/09 Python
Numpy ndarray 多维数组对象的使用
2021/02/10 Python
浅谈amaze-ui中datepicker和datetimepicker注意的几点
2020/08/21 HTML / CSS
Sixt美国租车:高端豪华车型自驾体验
2017/09/02 全球购物
澳大利亚网上买书:Angus & Robertson
2019/07/21 全球购物
丧事主持词大全
2014/04/02 职场文书
教师对照四风自我剖析材料
2014/09/30 职场文书
交通运输局四风问题对照检查材料思想汇报
2014/10/09 职场文书
HTML CSS 一个标签实现带动画的抖音LOGO
2022/04/26 HTML / CSS