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封装的不错的选项卡效果代码
Feb 15 Javascript
JSON.stringify 语法实例讲解
Mar 14 Javascript
javascript面向对象包装类Class封装类库剖析
Jan 24 Javascript
jquery.post用法示例代码
Jan 03 Javascript
JavaScript中的apply和call函数详解
Jul 20 Javascript
使用RequireJS优化JavaScript引用代码的方法
Jul 01 Javascript
window.onload绑定多个事件的两种解决方案
May 15 Javascript
Bootstrap被封装的弹层
Jul 20 Javascript
node.js的exports、module.exports与ES6的export、export default深入详解
Oct 26 Javascript
Angular6中使用Swiper的方法示例
Jul 09 Javascript
vue的.vue文件是怎么run起来的(vue-loader)
Dec 10 Javascript
小程序文字跑马灯效果
Dec 28 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实现的随机广告显示代码
2007/06/14 PHP
详解yii2实现分库分表的方案与思路
2017/02/03 PHP
PHP htmlspecialchars() 函数实例代码及用法大全
2018/09/18 PHP
PHP join()函数用法与实例讲解
2019/03/11 PHP
微信推送功能实现方式图文详解
2019/07/12 PHP
javascript 拖放效果实现代码
2010/01/22 Javascript
JavaScript打开word文档的实现代码(c#)
2012/04/16 Javascript
JQuery入门基础小实例(1)
2015/09/17 Javascript
JS实现的论坛Ajax打分效果完整实例
2015/10/31 Javascript
学习JavaScript设计模式(单例模式)
2015/11/26 Javascript
JavaScript实现点击按钮直接打印
2016/01/06 Javascript
jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法
2016/08/06 Javascript
javascript 分号总结及详细介绍
2016/09/24 Javascript
在NPM发布自己造的轮子的方法步骤
2019/03/09 Javascript
JavaScript变速动画函数封装添加任意多个属性
2019/04/03 Javascript
python实现发送和获取手机短信验证码
2016/01/15 Python
Python解析json文件相关知识学习
2016/03/01 Python
浅谈python中的面向对象和类的基本语法
2016/06/13 Python
python自动12306抢票软件实现代码
2018/02/24 Python
python3.6.3安装图文教程 TensorFlow安装配置方法
2020/06/24 Python
10分钟用python搭建一个超好用的CMDB系统
2019/07/17 Python
python中enumerate() 与zip()函数的使用比较实例分析
2019/09/03 Python
Python 类属性与实例属性,类对象与实例对象用法分析
2019/09/20 Python
Python编写一个验证码图片数据标注GUI程序附源码
2019/12/09 Python
从多个tfrecord文件中无限读取文件的例子
2020/02/17 Python
Python selenium爬取微信公众号文章代码详解
2020/08/12 Python
python zip()函数的使用示例
2020/09/23 Python
一款css实现的鼠标经过按钮的特效
2014/09/11 HTML / CSS
吃透移动端 Html5 响应式布局
2019/12/16 HTML / CSS
html2canvas生成的图片偏移不完整的解决方法
2020/05/19 HTML / CSS
阿里巴巴英国:Alibaba英国
2019/12/11 全球购物
财务部总监岗位职责
2014/03/12 职场文书
党的群众路线教育实践活动个人对照检查材料(乡镇)
2014/11/05 职场文书
2014年建筑工作总结
2014/11/26 职场文书
关于pytest结合csv模块实现csv格式的数据驱动问题
2022/05/30 Python
Python实现信息管理系统
2022/06/05 Python