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 相关文章推荐
弹出广告特效(一个IP只弹出一次)的代码
Jul 27 Javascript
提高网站信任度的技巧
Oct 17 Javascript
基于jQuery的消息提示插件 DivAlert之旅(二)
Apr 01 Javascript
JavaScript高级程序设计(第3版)学习笔记8 js函数(中)
Oct 11 Javascript
JavaScript转换二进制编码为ASCII码的方法
Apr 16 Javascript
javascript的变量、传值、传址、参数之间关系
Jul 26 Javascript
js正则表达式replace替换变量方法
May 21 Javascript
Angular+Node生成随机数的方法
Jun 16 Javascript
Layui 带多选框表格监听事件以及按钮自动点击写法实例
Sep 02 Javascript
解决layui弹出层layer的area过大被遮挡的问题
Sep 21 Javascript
小程序识别身份证,银行卡,营业执照,驾照的实现
Nov 05 Javascript
JavaScript实现优先级队列
Dec 06 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中smarty实现多模版网站的方法
2015/06/11 PHP
PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)
2016/01/09 PHP
thinkPHP利用ajax异步上传图片并显示、删除的示例
2018/09/26 PHP
php中的钩子理解及应用实例分析
2019/08/30 PHP
JavaScript 验证浏览器是否支持javascript的方法小结
2009/05/17 Javascript
新发现一个骗链接的方法(js读取cookies)
2012/01/11 Javascript
基于jquery点击自以外任意处,关闭自身的代码
2012/02/10 Javascript
JavaScript中“过于”犀利地for/in循环使用示例
2013/10/22 Javascript
flash遮住div问题的正确解决方法
2014/02/27 Javascript
javascript中interval与setTimeOut的区别示例介绍
2014/03/14 Javascript
JQuery 给元素绑定click事件多次执行的解决方法
2014/09/09 Javascript
自定义Angular指令与jQuery实现的Bootstrap风格数据双向绑定的单选与多选下拉框
2015/12/12 Javascript
JS 对象(Object)和字符串(String)互转方法
2016/05/20 Javascript
jQuery 获取遍历获取table中每一个tr中的第一个td的方法
2016/10/05 Javascript
微信小程序 页面传参实例详解
2016/11/16 Javascript
JS查找英文文章中出现频率最高的单词
2017/03/20 Javascript
AngularJs 终极购物车(实例讲解)
2017/11/08 Javascript
JavaScript 判断数据类型的4种方法
2020/09/11 Javascript
Vue项目如何引入bootstrap、elementUI、echarts
2020/11/26 Vue.js
jquery实现淡入淡出轮播图效果
2020/12/13 jQuery
Vue 组件注册全解析
2020/12/17 Vue.js
[53:13]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第三场 1月18日
2021/03/11 DOTA
php使用递归与迭代实现快速排序示例
2014/01/23 Python
python中关于for循环的碎碎念
2017/06/30 Python
解决在Python编辑器pycharm中程序run正常debug错误的问题
2019/01/17 Python
Python时间序列处理之ARIMA模型的使用讲解
2019/04/02 Python
Python Web框架之Django框架Form组件用法详解
2019/08/16 Python
Python Opencv提取图片中某种颜色组成的图形的方法
2019/09/19 Python
html5的新玩法——语音搜索
2013/01/03 HTML / CSS
P/Invoke是什么
2015/07/31 面试题
自学考试自我鉴定范文
2013/09/26 职场文书
商学院大学生求职的自我评价
2014/03/12 职场文书
卫生院健康教育实施方案
2014/06/07 职场文书
12.4法制宣传日活动总结
2014/08/26 职场文书
同乡会致辞
2015/07/30 职场文书
美甲店的创业计划书模板
2019/08/23 职场文书