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 相关文章推荐
xml分页+ajax请求数据源+dom取结果实例代码
Oct 31 Javascript
javascript获取当前日期时间及其它操作函数
Jan 11 Javascript
使用jquery的ajax需要注意的地方dataType的设置
Aug 12 Javascript
js和jquery如何获取图片真实的宽度和高度
Sep 28 Javascript
js获取UserControl内容为拼html时提供方便
Nov 02 Javascript
JavaScript实现的内存数据库LokiJS介绍和入门实例
Nov 17 Javascript
js操作XML文件的实现方法兼容IE与FireFox
Jun 25 Javascript
详解vue-cli本地环境API代理设置和解决跨域
Sep 05 Javascript
微信小程序商品详情页规格属性选择示例代码
Oct 30 Javascript
angular学习之动态创建表单的方法
Dec 07 Javascript
Vue 前端实现登陆拦截及axios 拦截器的使用
Jul 17 Javascript
Vue中多元素过渡特效的解决方案
Feb 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+SqlServer实现分页显示
2006/10/09 PHP
php5.4以下版本json不支持不转义内容中文的解决方法
2015/01/13 PHP
Zend Framework教程之资源(Resources)用法实例详解
2016/03/14 PHP
highchart数据源纵轴json内的值必须是int(详解)
2017/02/20 PHP
Javascript中的常见排序算法
2007/03/27 Javascript
JavaScript 节点操作 以及DOMDocument属性和方法
2007/12/06 Javascript
jQuery 全选效果实现代码
2009/03/23 Javascript
jquery下操作HTML控件的实现代码
2010/01/12 Javascript
按钮JS复制文本框和表格的代码
2011/04/01 Javascript
读jQuery之十三 添加事件和删除事件的核心方法
2011/08/23 Javascript
JS 表单验证大全
2011/11/23 Javascript
jQuery事件之键盘事件(ctrl+Enter回车键提交表单等)
2014/05/11 Javascript
七个很有意思的PHP函数
2014/05/12 Javascript
jquery中使用循环下拉菜单示例代码
2014/09/24 Javascript
JavaScript基于setTimeout实现计数的方法
2015/05/08 Javascript
直接拿来用的15个jQuery代码片段
2015/09/23 Javascript
jQuery动画效果相关方法实例分析
2015/12/31 Javascript
easyui datagrid 表格中操作栏 按钮图标不显示的解决方法
2017/07/27 Javascript
jQuery选择器之属性筛选选择器用法详解
2017/09/19 jQuery
laravel5.3 vue 实现收藏夹功能实例详解
2018/01/21 Javascript
Postman模拟发送带token的请求方法
2018/03/31 Javascript
angular4强制刷新视图的方法
2018/10/09 Javascript
VUE Elemen-ui之穿梭框使用方法详解
2021/01/19 Javascript
[01:08:17]2018DOTA2亚洲邀请赛3月29日 小组赛B组 EG VS VGJ.T
2018/03/30 DOTA
wxPython 入门教程
2008/10/07 Python
python判断字符串是否包含子字符串的方法
2015/03/24 Python
在Python中COM口的调用方法
2019/07/03 Python
pip install命令安装扩展库整理
2021/03/02 Python
美国新蛋IT数码商城:Newegg.com
2016/07/21 全球购物
国际鲜花速递专家:Floraqueen
2016/11/24 全球购物
最畅销的视频游戏享受高达90%的折扣:CDKeys
2020/02/10 全球购物
Hurley官方网站:扎根于海滩生活方式的全球青年文化品牌
2020/05/18 全球购物
法院个人总结
2015/03/03 职场文书
暑假生活随笔
2015/08/15 职场文书
2019年工作总结范文
2019/05/21 职场文书
JavaScript中isPrototypeOf函数
2021/11/07 Javascript