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中each()的使用方法说明
Aug 19 Javascript
自动设置iframe大小的jQuery代码
Sep 11 Javascript
jquery中each方法示例和常用选择器
Jul 08 Javascript
浅谈JavaScript 框架分类
Nov 10 Javascript
原生js模拟淘宝购物车项目实战
Nov 18 Javascript
JavaScript实现ASC转汉字及汉字转ASC的方法
Jan 23 Javascript
基于JS实现导航条之调用网页助手小精灵的方法
Jun 17 Javascript
Vue中建立全局引用或者全局命令的方法
Aug 21 Javascript
详解vue2 $watch要注意的问题
Sep 08 Javascript
JavaScript设计模式之建造者模式实例教程
Jul 02 Javascript
vuex根据不同的用户权限展示不同的路由列表功能
Sep 20 Javascript
vuex + keep-alive实现tab标签页面缓存功能
Oct 17 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
各种咖啡的英文名子是什么
2021/03/03 新手入门
Apache服务器下防止图片盗链的办法
2015/07/06 PHP
PHP错误提示It is not safe to rely on the system……的解决方法
2019/03/25 PHP
childNodes.length与children.length的区别
2009/05/14 Javascript
js为空或不是对象问题的快速解决方法
2013/12/11 Javascript
JS操作iframe里的dom(实例讲解)
2014/01/29 Javascript
html文档中的location对象属性理解及常见的用法
2014/08/13 Javascript
常用的jQuery前端技巧收集
2014/12/24 Javascript
快速学习jQuery插件 Form表单插件使用方法
2015/12/01 Javascript
Javascript实现单例模式
2016/01/24 Javascript
JS动态加载脚本并执行回调操作
2016/08/24 Javascript
jQuery实现一个简单的验证码功能
2017/06/26 jQuery
js禁止表单重复提交
2017/08/29 Javascript
使用jQuery 操作table 完成单元格合并的实例
2017/12/27 jQuery
微信小程序将字符串生成二维码图片的操作方法
2018/07/17 Javascript
iview Upload组件多个文件上传的示例代码
2018/09/30 Javascript
elementUI vue this.$confirm 和el-dialog 弹出框 移动 示例demo
2019/07/03 Javascript
vue 路由子组件created和mounted不起作用的解决方法
2019/11/05 Javascript
jquery实现加载更多"转圈圈"效果(示例代码)
2020/11/09 jQuery
[01:15:00]LGD vs Mineski Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
采用python实现简单QQ单用户机器人的方法
2014/07/03 Python
详细讲解Python中的文件I/O操作
2015/05/24 Python
Python OpenCV处理图像之图像直方图和反向投影
2018/07/10 Python
python3中eval函数用法使用简介
2019/08/02 Python
Python3简单爬虫抓取网页图片代码实例
2019/08/26 Python
Django使用Celery加redis执行异步任务的实例内容
2020/02/20 Python
Python hashlib和hmac模块使用方法解析
2020/12/08 Python
linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
2020/12/14 Python
Web页面中八种创建多列等高(等高列布局)的实现技术
2012/12/24 HTML / CSS
CSS3实现可关闭的下拉手风琴菜单效果
2015/08/31 HTML / CSS
SmartBuyGlasses英国:购买太阳镜和眼镜
2018/01/29 全球购物
市三好学生主要事迹
2014/01/28 职场文书
理工类毕业自我鉴定
2014/02/20 职场文书
研讨会主持词
2014/04/02 职场文书
教师节活动总结
2014/08/29 职场文书
Go语言编译原理之源码调试
2022/08/05 Golang