1. 1 <script type="text/javascript">
  2. 2 function Person(){
  3. 3 /*使用var 属性名定义的属性是类的私有属性,外界无法访问,要想被外界访问,就要使用公共方法*/
  4. 4 var QQ="123456";
  5. 5 var Email="123456@qq.com";
  6. 6
  7. 7 /*使用this.属性名定义的属性就是类的公共属性,是可以被外界访问的*/
  8. 8 this.Name="孤傲苍狼";
  9. 9 this.Age=24;
  10. 10
  11. 11 /*定义Person类的公共方法,凡是定义类的公共属性和公共方法都要使用this*/
  12. 12 this.Show=function(){//定义Person类的公共方法(特权方法)
  13. 13 alert("QQ="+QQ+"\tEmail="+Email);
  14. 14
  15. 15 }
  16. 16
  17. 17 /*定义Person类的私有方法*/
  18. 18 function Show2(){//这是Person类的一个私有方法,只能在Person类内部使用
  19. 19
  20. 20 }
  21. 21 }
  22. 22
  23. 23 var p1 = new Person();
  24. 24 alert("私有属性p1.QQ="+p1.QQ+"\t"+"p1.Email="+p1.Email);
  25. 25 alert("公共属性p1.Name="+p1.Name+"\t"+"p1.Age="+p1.Age);
  26. 26 p1.Show();
  27. 27 //p1.Show2();//这里会报错,无法调用Person类的私有方法,
  28. 28
  29. 29 /*
  30. 30 Window 对象描述
  31. 31 Window 对象表示一个浏览器窗口或一个框架。在客户端 JavaScript 中,Window 对象是全局对象,所有的表达式都在当前的环境中计算。
  32. 32 也就是说,要引用当前窗口根本不需要特殊的语法,可以把那个窗口的属性作为全局变量来使用。例如,可以只写 document,而不必写 window.document。
  33. 33
  34. 34 同样,可以把当前窗口对象的方法当作函数来使用,如只写 alert(),而不必写 Window.alert()。
  35. 35 */
  36. 36 function Test(){
  37. 37 alert(this.v);
  38. 38 }
  39. 39 v=90;
  40. 40 Test();
  41. 41 window.Test();//记住一句话:哪个对象调用this所在的函数,那么this代表的就是哪个对象实例,这里是window对象调用Test()方法,因此此时this指的就是window对象
  42. 42
  43. 43 function Test2(){
  44. 44 this.fnTest=function(){
  45. 45 alert(this.v2);
  46. 46 }
  47. 47 }
  48. 48
  49. 49 var t = new Test2();
  50. 50 t.v2="记住一句话:哪个对象调用this所在的函数,那么this代表的就是哪个对象实例";
  51. 51 t.fnTest();//这里是t对象调用Test()方法,因此此时this指的就是t对象
  52. 52 </script>

JavaScript的this总结:

  1、this不能在类定义的外部使用,只能在类定义的内部使用。

   2、哪个对象调用this所在的函数,那么this代表的就是哪个对象实例。

JavaScript学习总结(十)——this关键字的更多相关文章

  1. JavaScript:学习笔记(4)——This关键字

    JavaScript:学习笔记(4)——This关键字 以前这篇帖子是关于闭包的,但是我想弄明白的其实是This关键字.JavaScript的this和Java等面向对象语言中的this大不一样,bi ...

  2. JavaScript学习总结(十六)——Javascript闭包(Closure)

    原文地址: http://www.cnblogs.com/xdp-gacl/p/3703876.html 闭包(closure)是Javascript语言的一个难点,也是它的特色, 很多高级应用都要依 ...

  3. JavaScript学习笔记–(new关键字)

    作用 是创建一个对象实例.这个对象可以是用户自定义的,也可以是一些系统自带的带构造函数的对象. 描述 创建一个对象类型需要创建一个指定了名称和属性的函数:其中这些属性可以指向它本身,也可以指向其他对象 ...

  4. JavaScript学习总结(十四)——JavaScript编写类的扩展方法

    在​J​a​v​a​S​c​r​i​p​t​中​可以使​用​类的p​r​o​t​o​t​y​p​e属性来​扩​展​类的属​性​和​方​法,在实际开发当中,当JavaScript内置的那些类所提供的动态 ...

  5. JavaScript学习总结(十二)——JavaScript编写类

    在工作中经常用到JavaScript,今天总结一下JavaScript编写类的几种写法以及这几种写法的优缺点,关于JavaScript编写类的方式,在网上看到很多,而且每个人的写法都不太一样,经常看到 ...

  6. JavaScript学习笔记(十二) 回调模式(Callback Pattern)

    函数就是对象,所以他们可以作为一个参数传递给其它函数: 当你将introduceBugs()作为一个参数传递给writeCode(),然后在某个时间点,writeCode()有可能执行(调用)intr ...

  7. JavaScript学习总结(十五)——Function类

    在JavaScript中,函数其实是对象,每个函数都是Function类的实例,既然函数对象,那么就具有自己的属性和方法,因此,函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定. 一.函数的 ...

  8. JavaScript学习总结(十九)——使用js加载器动态加载外部Javascript文件

    今天在网上找到了一个可以动态加载js文件的js加载器,具体代码如下: JsLoader.js 1 var MiniSite=new Object(); 2 /** 3 * 判断浏览器 4 */ 5 M ...

  9. JavaScript学习总结(十八)——JavaScript获取浏览器类型与版本

    从网上找到一段使用JavaScript判断浏览器以及浏览器版本的比较好的代码,在此记录一下: 1 <script type="text/javascript"> 2 v ...

随机推荐

  1. Android实验一(在Android Studio中创建项目和模拟器)

    北京电子科技学院(BESTI) 实     验    报     告 课程:移动平台开发         班级:1592 姓名:苏泽楠 学号:20159207 成绩:             指导教师 ...

  2. win7 + MySQL 5.6.35 免安装版部署

    之前项目开发一直用的asp.net技术,所以数据库自然而然的就用的Sql Server了,最近想着手看一下MySQL数据库,部署免安装版的MySQL的过程记录一下. 准备工作:window 7   6 ...

  3. Eclipse的快捷键使用总结

    最近一直在使用Idea开发项目,导致之前一直使用的Eclipse快捷键忘记的差不多了,现在稍微整理了一些,方便以后可以快速切换回来. 常用的Eclipse快捷键总结: Ctrl+S 保存当前正在编辑的 ...

  4. tensorflow的写诗代码分析【转】

    本文转载自:https://dongzhixiao.github.io/2018/07/21/so-hot/ 今天周六,早晨出门吃饭,全身汗湿透.天气真的是太热了!我决定一天不出门,在屋子里面休息! ...

  5. 发现vi出现此错误~/.vim/bundle/YouCompleteMe/third_party/ycmd/ycm_core.so: undefined symbol: clang_getCompletionFixIt

    答: 安装更高版本的clang库 sudo apt-get install clang-7 sudo update-alternatives --install /usr/bin/clang clan ...

  6. SPOJ LAS(BFS)题解

    题目:VJ 思路: BFS+回溯,但是要剪枝,看了dalao的题解,超时+WA无数发,终于过了 #include<cstdio> #include<cstring> #incl ...

  7. 【Android实验】第一个Android程序与Activity生命周期

    目录 第一个Android程序和Activity生命周期 实验目的 实验要求 实验过程 1. 程序正常启动与关闭 2. 外来电话接入的情况 3. 外来短信接入的情况 4. 程序运行中切换到其他程序(比 ...

  8. Ubuntu更新软件源出现GPG error

    原因 在sources.list文件中加入了非ubuntu官方源,所以认为加入源是不可信任的. 解决方法导入该源公钥.E084DAB9为PUBKEY后八位 gpg --keyserver keyser ...

  9. listener TNS-01189 问题

    -- 启动监听,提示已经启动. [oracle@sh ~]$ lsnrctl start LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 0 ...

  10. node 文件、文件夹 增删改查

    1. 文件夹 增加文件夹 var fs = require("fs"); console.log("创建目录 tmp"); fs.mkdir("tmp ...