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 相关文章推荐
使用js实现关闭js弹出层的窗口
Feb 10 Javascript
JS动态增加删除UL节点LI及相关内容示例
May 21 Javascript
JavaScript中的Function函数
Aug 27 Javascript
详解Bootstrap glyphicons字体图标
Jan 04 Javascript
Javascript之String对象详解
Jun 08 Javascript
jquery判断iPhone、Android设备类型
Sep 14 Javascript
js前端实现多图图片上传预览的两个方法(推荐)
Nov 18 Javascript
JavaScript实现邮箱地址自动匹配功能代码
Nov 28 Javascript
详解jQuery中关于Ajax的几个常用的函数
Jul 17 jQuery
jquery中为什么能用$操作
Jun 18 jQuery
vue 虚拟DOM的原理
Oct 03 Javascript
小程序组件传值和引入sass的方法(使用vant Weapp组件库)
Nov 24 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/11/14 PHP
php checkbox复选框值的获取与checkbox默认值输出方法
2010/05/15 PHP
用php解析html的实现代码
2011/08/08 PHP
php中通过正则表达式下载内容中的远程图片的函数代码
2012/01/10 PHP
set_include_path和get_include_path使用及注意事项
2013/02/02 PHP
使用php清除bom示例
2014/03/03 PHP
PHP @ at 记号的作用示例介绍
2014/10/10 PHP
PHP实现二维数组中的查找算法小结
2018/06/09 PHP
JS 页面内容搜索,类似于 Ctrl+F功能的实现代码
2007/08/13 Javascript
深入领悟JavaScript中的面向对象
2013/11/18 Javascript
简单的js图片轮换代码(js图片轮播)
2014/05/06 Javascript
JavaScript简单实现弹出拖拽窗口(一)
2016/06/17 Javascript
Jquery UI实现一次拖拽多个选中的元素操作
2020/12/01 Javascript
原生js实现弹出层效果
2017/01/20 Javascript
jquery中绑定事件的异同
2017/02/28 Javascript
让nodeJS支持ES6的词法----babel的安装和使用方法
2017/07/31 NodeJs
详解如何使用 vue-cli 开发多页应用
2017/12/16 Javascript
微信小程序手机号码验证功能的实例代码
2018/08/28 Javascript
[04:04]显微镜下的DOTA2第六期——电影级别的华丽团战
2014/06/20 DOTA
[46:03]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python k-近邻算法实例分享
2014/06/11 Python
Python的函数的一些高阶特性
2015/04/27 Python
使用PyInstaller将Python程序文件转换为可执行程序文件
2016/07/08 Python
Python读取Word(.docx)正文信息的方法
2018/03/15 Python
pandas实现选取特定索引的行
2018/04/20 Python
python 下 CMake 安装配置 OPENCV 4.1.1的方法
2019/09/30 Python
python爬虫开发之Request模块从安装到详细使用方法与实例全解
2020/03/09 Python
解析python 中/ 和 % 和 //(地板除)
2020/06/28 Python
Python命名空间及作用域原理实例解析
2020/08/12 Python
Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)
2020/12/14 Python
移动端rem布局的两种实现方法
2018/01/03 HTML / CSS
对祖国的寄语大全
2014/04/11 职场文书
数控技校生自我鉴定
2014/04/19 职场文书
企业宣传稿范文
2015/07/23 职场文书
Python控制台输出俄罗斯方块移动和旋转功能
2021/04/18 Python
PostgreSQL之连接失败的问题及解决
2023/05/08 PostgreSQL