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 相关文章推荐
Array.slice()与Array.splice()的返回值类型
Oct 09 Javascript
JQuery插件Style定制化方法的分析与比较
May 03 Javascript
javascript读写XML实现广告轮换(兼容IE、FF)
Aug 09 Javascript
node.js中的http.request方法使用说明
Dec 14 Javascript
Jquery Ajax Error 调试错误的技巧
Nov 20 Javascript
jQuery鼠标悬浮链接弹出跟随图片实例代码
Jan 08 Javascript
React应用中使用Bootstrap的方法
Aug 15 Javascript
Vue组件开发之LeanCloud带图形校验码的短信发送功能
Nov 07 Javascript
mpvue 如何使用腾讯视频插件的方法
Jul 16 Javascript
实现elementUI表单的全局验证的方法步骤
Apr 29 Javascript
koa2 用户注册、登录校验与加盐加密的实现方法
Jul 22 Javascript
Vue使用Ref跨层级获取组件的步骤
Jan 25 Vue.js
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 skymvc 一款轻量、简单的php
2011/06/28 PHP
php中smarty模板条件判断用法实例
2015/06/11 PHP
php实现处理输入转义字符的代码
2015/11/08 PHP
PHP 7安装调试工具Xdebug扩展的方法教程
2017/06/17 PHP
thinkPHP框架实现的短信接口验证码功能示例
2018/06/20 PHP
js监听表单value的修改同步问题,跨浏览器支持
2009/12/31 Javascript
javascript面向对象之Javascript 继承
2010/05/04 Javascript
用jquery实现等比例缩放图片效果插件
2010/07/24 Javascript
js统计录入文本框中字符的个数并加以限制不超过多少
2014/05/23 Javascript
Jquery焦点与失去焦点示例应用
2014/06/10 Javascript
jQuery实现仿腾讯迷你首页选项卡效果代码
2015/09/17 Javascript
Node.js本地文件操作之文件拷贝与目录遍历的方法
2016/02/16 Javascript
深入剖析JavaScript:Object类型
2016/05/10 Javascript
基于vue开发的在线付费课程应用过程
2018/01/25 Javascript
详解vue2.0 不同屏幕适配及px与rem转换问题
2018/02/23 Javascript
搭建vue开发环境
2018/07/19 Javascript
nodejs中用npm初始化来创建package.json的实例讲解
2018/10/10 NodeJs
nodejs npm错误Error:UNKNOWN:unknown error,mkdir 'D:\Develop\nodejs\node_global'at Error
2019/03/02 NodeJs
判断“命令按钮”是否被鼠标单击详解
2019/07/31 Javascript
基于JavaScript获取base64图片大小
2019/10/18 Javascript
[59:07]海涛为你详解DOTA2新版本“贤哲秘契”
2014/11/22 DOTA
一个基于flask的web应用诞生 组织结构调整(7)
2017/04/11 Python
Python入门_学会创建并调用函数的方法
2017/05/16 Python
Python工程师面试必备25条知识点
2018/01/17 Python
python用plt画图时,cmp设置方法
2018/12/13 Python
python中import与from方法总结(推荐)
2019/03/21 Python
Python for循环搭配else常见问题解决
2020/02/11 Python
python用什么编辑器进行项目开发
2020/06/17 Python
捷克家具销售网站:SCONTO Nábytek
2020/01/02 全球购物
承认错误的检讨书
2014/01/30 职场文书
国际贸易毕业生求职信范文
2014/02/21 职场文书
高中生班主任评语
2014/04/25 职场文书
三字经教学反思
2014/04/26 职场文书
新教师培训心得体会
2014/09/02 职场文书
电影建国大业观后感
2015/06/01 职场文书
如何在pycharm中快捷安装pip命令(如pygame)
2021/05/31 Python