JavaScript学习总结(十)——this关键字
- 1 <script type="text/javascript">
- 2 function Person(){
- 3 /*使用var 属性名定义的属性是类的私有属性,外界无法访问,要想被外界访问,就要使用公共方法*/
- 4 var QQ="123456";
- 5 var Email="123456@qq.com";
- 6
- 7 /*使用this.属性名定义的属性就是类的公共属性,是可以被外界访问的*/
- 8 this.Name="孤傲苍狼";
- 9 this.Age=24;
- 10
- 11 /*定义Person类的公共方法,凡是定义类的公共属性和公共方法都要使用this*/
- 12 this.Show=function(){//定义Person类的公共方法(特权方法)
- 13 alert("QQ="+QQ+"\tEmail="+Email);
- 14
- 15 }
- 16
- 17 /*定义Person类的私有方法*/
- 18 function Show2(){//这是Person类的一个私有方法,只能在Person类内部使用
- 19
- 20 }
- 21 }
- 22
- 23 var p1 = new Person();
- 24 alert("私有属性p1.QQ="+p1.QQ+"\t"+"p1.Email="+p1.Email);
- 25 alert("公共属性p1.Name="+p1.Name+"\t"+"p1.Age="+p1.Age);
- 26 p1.Show();
- 27 //p1.Show2();//这里会报错,无法调用Person类的私有方法,
- 28
- 29 /*
- 30 Window 对象描述
- 31 Window 对象表示一个浏览器窗口或一个框架。在客户端 JavaScript 中,Window 对象是全局对象,所有的表达式都在当前的环境中计算。
- 32 也就是说,要引用当前窗口根本不需要特殊的语法,可以把那个窗口的属性作为全局变量来使用。例如,可以只写 document,而不必写 window.document。
- 33
- 34 同样,可以把当前窗口对象的方法当作函数来使用,如只写 alert(),而不必写 Window.alert()。
- 35 */
- 36 function Test(){
- 37 alert(this.v);
- 38 }
- 39 v=90;
- 40 Test();
- 41 window.Test();//记住一句话:哪个对象调用this所在的函数,那么this代表的就是哪个对象实例,这里是window对象调用Test()方法,因此此时this指的就是window对象
- 42
- 43 function Test2(){
- 44 this.fnTest=function(){
- 45 alert(this.v2);
- 46 }
- 47 }
- 48
- 49 var t = new Test2();
- 50 t.v2="记住一句话:哪个对象调用this所在的函数,那么this代表的就是哪个对象实例";
- 51 t.fnTest();//这里是t对象调用Test()方法,因此此时this指的就是t对象
- 52 </script>
JavaScript的this总结:
1、this不能在类定义的外部使用,只能在类定义的内部使用。
2、哪个对象调用this所在的函数,那么this代表的就是哪个对象实例。
JavaScript学习总结(十)——this关键字的更多相关文章
- JavaScript:学习笔记(4)——This关键字
JavaScript:学习笔记(4)——This关键字 以前这篇帖子是关于闭包的,但是我想弄明白的其实是This关键字.JavaScript的this和Java等面向对象语言中的this大不一样,bi ...
- JavaScript学习总结(十六)——Javascript闭包(Closure)
原文地址: http://www.cnblogs.com/xdp-gacl/p/3703876.html 闭包(closure)是Javascript语言的一个难点,也是它的特色, 很多高级应用都要依 ...
- JavaScript学习笔记–(new关键字)
作用 是创建一个对象实例.这个对象可以是用户自定义的,也可以是一些系统自带的带构造函数的对象. 描述 创建一个对象类型需要创建一个指定了名称和属性的函数:其中这些属性可以指向它本身,也可以指向其他对象 ...
- JavaScript学习总结(十四)——JavaScript编写类的扩展方法
在JavaScript中可以使用类的prototype属性来扩展类的属性和方法,在实际开发当中,当JavaScript内置的那些类所提供的动态 ...
- JavaScript学习总结(十二)——JavaScript编写类
在工作中经常用到JavaScript,今天总结一下JavaScript编写类的几种写法以及这几种写法的优缺点,关于JavaScript编写类的方式,在网上看到很多,而且每个人的写法都不太一样,经常看到 ...
- JavaScript学习笔记(十二) 回调模式(Callback Pattern)
函数就是对象,所以他们可以作为一个参数传递给其它函数: 当你将introduceBugs()作为一个参数传递给writeCode(),然后在某个时间点,writeCode()有可能执行(调用)intr ...
- JavaScript学习总结(十五)——Function类
在JavaScript中,函数其实是对象,每个函数都是Function类的实例,既然函数对象,那么就具有自己的属性和方法,因此,函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定. 一.函数的 ...
- JavaScript学习总结(十九)——使用js加载器动态加载外部Javascript文件
今天在网上找到了一个可以动态加载js文件的js加载器,具体代码如下: JsLoader.js 1 var MiniSite=new Object(); 2 /** 3 * 判断浏览器 4 */ 5 M ...
- JavaScript学习总结(十八)——JavaScript获取浏览器类型与版本
从网上找到一段使用JavaScript判断浏览器以及浏览器版本的比较好的代码,在此记录一下: 1 <script type="text/javascript"> 2 v ...
随机推荐
- Android实验一(在Android Studio中创建项目和模拟器)
北京电子科技学院(BESTI) 实 验 报 告 课程:移动平台开发 班级:1592 姓名:苏泽楠 学号:20159207 成绩: 指导教师 ...
- win7 + MySQL 5.6.35 免安装版部署
之前项目开发一直用的asp.net技术,所以数据库自然而然的就用的Sql Server了,最近想着手看一下MySQL数据库,部署免安装版的MySQL的过程记录一下. 准备工作:window 7 6 ...
- Eclipse的快捷键使用总结
最近一直在使用Idea开发项目,导致之前一直使用的Eclipse快捷键忘记的差不多了,现在稍微整理了一些,方便以后可以快速切换回来. 常用的Eclipse快捷键总结: Ctrl+S 保存当前正在编辑的 ...
- tensorflow的写诗代码分析【转】
本文转载自:https://dongzhixiao.github.io/2018/07/21/so-hot/ 今天周六,早晨出门吃饭,全身汗湿透.天气真的是太热了!我决定一天不出门,在屋子里面休息! ...
- 发现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 ...
- SPOJ LAS(BFS)题解
题目:VJ 思路: BFS+回溯,但是要剪枝,看了dalao的题解,超时+WA无数发,终于过了 #include<cstdio> #include<cstring> #incl ...
- 【Android实验】第一个Android程序与Activity生命周期
目录 第一个Android程序和Activity生命周期 实验目的 实验要求 实验过程 1. 程序正常启动与关闭 2. 外来电话接入的情况 3. 外来短信接入的情况 4. 程序运行中切换到其他程序(比 ...
- Ubuntu更新软件源出现GPG error
原因 在sources.list文件中加入了非ubuntu官方源,所以认为加入源是不可信任的. 解决方法导入该源公钥.E084DAB9为PUBKEY后八位 gpg --keyserver keyser ...
- listener TNS-01189 问题
-- 启动监听,提示已经启动. [oracle@sh ~]$ lsnrctl start LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 0 ...
- node 文件、文件夹 增删改查
1. 文件夹 增加文件夹 var fs = require("fs"); console.log("创建目录 tmp"); fs.mkdir("tmp ...