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 相关文章推荐
简单的无缝滚动程序-仅几行代码
May 08 Javascript
JavaScript 实现模态对话框 源代码大全
May 02 Javascript
js弹出层永远居中实现思路及代码
Nov 29 Javascript
弹出窗口并且此窗口带有半透明的遮罩层效果
Mar 13 Javascript
JS+CSS实现带有碰撞缓冲效果的竖向导航条代码
Sep 15 Javascript
AngularJS ng-repeat数组有重复值的解决方法
Oct 23 Javascript
深入理解jQuery()方法的构建原理
Dec 05 Javascript
vue-router2.0 组件之间传参及获取动态参数的方法
Nov 10 Javascript
javascript实现获取一个日期段内每天不同的价格(计算入住总价格)
Feb 05 Javascript
微信小程序实现蓝牙打印
Sep 23 Javascript
js实现表格单列按字母排序
Aug 12 Javascript
面试中canvas绘制图片模糊图片问题处理
Mar 13 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的可变变量名需要的注意的问题
2013/06/20 PHP
PHP数组函数array_multisort()用法实例分析
2016/04/02 PHP
php foreach如何跳出两层循环(详解)
2016/11/05 PHP
php中错误处理操作实例分析
2019/08/23 PHP
laravel框架添加数据,显示数据,返回成功值的方法
2019/10/11 PHP
新页面打开实际尺寸的图片
2006/08/25 Javascript
jQeury淡入淡出需要注意的问题
2010/09/08 Javascript
jQuery数组处理代码详解(含实例演示)
2012/02/03 Javascript
jQuery+CSS 半开折叠效果原理及代码(自写)
2013/03/04 Javascript
javascript获取鼠标位置部分的实例代码(兼容IE,FF)
2013/08/05 Javascript
jQuery实现鼠标可拖动调整表格列宽度
2014/05/26 Javascript
js实现支持手机滑动切换的轮播图片效果实例
2015/04/29 Javascript
C#中使用迭代器处理等待任务
2015/07/13 Javascript
JavaScript操作 url 中 search 部分方法函数
2016/06/15 Javascript
html中通过JS获取JSON数据并加载的方法
2017/11/30 Javascript
js+canvas实现验证码功能
2020/09/21 Javascript
详解微信小程序调起键盘性能优化
2018/07/24 Javascript
小程序实现图片预览裁剪插件
2019/11/22 Javascript
Vue 根据条件判断van-tab的显示方式
2020/08/03 Javascript
vue 授权获取微信openId操作
2020/11/13 Javascript
Python中分数的相关使用教程
2015/03/30 Python
tensorflow实现对图片的读取的示例代码
2018/02/12 Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
2018/04/12 Python
使用Filter过滤python中的日志输出的实现方法
2019/07/17 Python
python requests模拟登陆github的实现方法
2019/12/26 Python
PyInstaller运行原理及常用操作详解
2020/06/13 Python
Python 用__new__方法实现单例的操作
2020/12/11 Python
html5实现多图片预览上传及点击可拖拽控件
2018/03/15 HTML / CSS
美国校园市场:OCM
2017/06/08 全球购物
法国亚马逊官方网站:Amazon.fr
2020/12/19 全球购物
.net笔试题
2014/03/03 面试题
廉政教育的心得体会
2014/09/01 职场文书
合作经营协议书范本
2014/09/16 职场文书
期中考试后的感想
2015/08/07 职场文书
创业计划书之溜冰场
2019/10/25 职场文书
python3 sqlite3限制条件查询的操作
2021/04/07 Python