运行程序,解读this指向---case3
片段1
var myObj = {
fullname: "Hou Yi",
getFullName: function(){
var self = this;
console.log('outer:this.fullname is ' + this.fullname);//this.fullname is Hou Yi
console.log('outer:self.fullname is ' + self.fullname);//self.fullname is Hou Yi
(function(){
// 自执行函数的this一般情况下都指向window
console.log('inner:this.fullname is ' + this.fullname);//this.fullname is undefined
console.log('inner:self.fullname is ' + self.fullname);//self.fullname is Hou Yi
})();
}
};
myObj.getFullName();
片段2
//闭包
var fullname = "Camille Hou";
var myObj = {
fullname:"Hou Yi",
getFullName:function(){
return function(){
return this.fullname;
}
}
}
console.log(myObj.getFullName()());//Camille Hou
var fullname = "Camille Hou";
var myObj = {
fullname:"Hou Yi",
getFullName:function(){
var that = this;
return function(){
return that.fullname;
}
}
}
console.log(myObj.getFullName()());//Hou Yi
片段3
var fullname = "Camille Hou";
var myObj = {
fullname:"Hou Yi",
getFullNameP:{
fullname:"Gamiye",
getFullName:function(){
return this.fullname;
}
}
};
//this指向myObj.getFullNameP
/*
如果函数,被某一个对象所拥有,那么该函数在调用时,内部的this指向该对象。
*/
console.log(myObj.getFullNameP.getFullName());//Gamiye
var getName = myObj.getFullNameP.getFullName;
// this指向window,getName被隐式的作为全局对象的属性。
/*
如果函数独立调用,那么该函数在调用时,内部的this指向undefined。但是在非严格模式中,当this指向undefined时,它会被自动指向全局对象。
*/
console.log(getName());//Camille Hou
严格模式
'use strict'
var fullname = "Camille Hou";
var myObj = {
fullname:"Hou Yi",
getFullNameP:{
fullname:"Gamiye",
getFullName:function(){
return this.fullname;
}
}
};
var getName = myObj.getFullNameP.getFullName;
console.log(getName());//Cannot read property 'fullname' of undefined,此时的this指向undefined
运行程序,解读this指向---case3的更多相关文章
- 操作系统篇-hello world(免系统运行程序)
|| 版权声明:本文为博主原创文章,未经博主允许不得转载. 一.前言 今天起开始分享关于操作系统的相关知识,本人也是菜鸟一个,正处于学习阶段,这整个操作系统篇也是我边学习边总结的一些结果,希 ...
- windows服务编写和“以管理员运行”程序的方法
本文将首先解释如何 创建 一个定期查询可用物理内存并将结果写入某个文本文件的服务.然后指导你完成生成,安装和实现服务的整个过程. 第一步:主函数和全局定义 首先,包含所需的头文件.例子要调用 Win3 ...
- python介绍,计算机核心基础,与运行程序有关的三大核心硬件,操作系统
python介绍,计算机核心基础,与运行程序有关的三大核心硬件,操作系统 引子 python是什么? 什么是编程语言?为何要有编程语言? 什么是编程?什么是程序?什么是进程?为何要编程? 计算机基础 ...
- CYPEESS USB3.0程序解读之---GPIO
CPRESS 官方给出的SDK1.1中(目前最新的SDK),提供了大量的例程供我们开发软件的时候作参考,就像STM32的开发一样提供了库一样,但是又不是库,仅仅是参考例程. 首先看一个简单一点的GPI ...
- Xcode 运行程序,左侧memory 不显示内存
运行程序后,xcode 不显示当前使用的内存情况,问题是打开了僵尸--enable zoombie Objects,关闭即可 打开 product--->SCheme-->EditSChe ...
- C# 管理员身份运行程序
在使用winform程序获取调用cmd命令提示符时,如果是win7以上的操作系统,会需要必须以管理员身份运行才会执行成功,否则无效果或提示错误. 比如在通过winform程序执行cmd命令时,某些情况 ...
- IntelliJ IDEA 配置运行程序
IntelliJ IDEA 对于Javaer开发来说还是很nice的,就是第一次用可能配置项有点生疏,这里就记录一下IntelliJ IDEA 配置运行程序. 1. 点击Edit Config... ...
- Usage: AddDimensionedImage imageFile outputFile eclipse 运行程序出错
关于这个在eclipse中运行java程序的错,首先确认你的jdk,jre是否完整,并且与你的eclipse的位数相同,当然我相信这个错误大家应该都会去检查到. 第二个关于addDimensioned ...
- [原创]Win7、Win8、Win10始终以管理员身份运行程序。
在Win7.Win8.Win10系统中,以管理员身份运行程序很麻烦,一般有以下几种方式: 1.在可执行程序或快捷方式上右键,以管理员身份运行: 2.在可执行程序或快捷方式上右键->属性-> ...
随机推荐
- 推荐系统之协同过滤的原理及C++实现
1.引言 假如你经营着一家网店,里面卖各种商品(Items),有很多用户在你的店里面买过东西,并对买过的Items进行了评分,我们称之为历史信息,现在为了提高销售量,必须主动向用户推销产品,所以关键是 ...
- Dubbo启动时检查
Dubbo在启动时会检查服务提供者所提供的服务是否可用,默认为True. (1).单个服务关闭启动时检查(check属性置为false) 1).基于xml文件配置方式 <!--3.声明需要调用的 ...
- jmeter中实现java请求实战日志
view code public class JdbcInsert implements JavaSamplerClient { // 全局变量 PreparedStatement pstmt; Co ...
- linux学习笔记1——指令的基本格式及基本文件操作
从今天开始就正式踏上了linux的学习历程.linux作为绝大多数服务器采用的操作系统,是每个开发人员都非常有必要掌握的操作系统.初学时,我没有直接在电脑上安装linux操作系统,而是采用了虚拟机的方 ...
- Word打开默认显示缩略图,而不是文档结构图
So easy! 1.打开Word文档,点击缩略图右侧的"X",关闭缩略图: 2.打开菜单[视图],勾选"文档结构图": 3.关闭当前Word文档: 4.再次打 ...
- cacti系列(一)之cacti的安装及配置监控mysql服务
简介 Cacti是通过 snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数.它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构 ...
- 域名调整 SEO优化(nginx)
=============================================== 2019/3/31_第1次修改 ccb_warlock == ...
- .net下web页生产一维条形码
code-39 前台 aspx <asp:Image ID="imgBandCode" runat="server" ImageUrl="~/W ...
- redux最佳实践
对于初学者,redux的理念很难理解.其实redux并不难,redux核心理念就是数据仓库,所有数据操作来源都是明确的.只不过不是直接操作数据,而是交给特定的角色做特定的工作,分工明确. pro ...
- XPATH语法(一)
Xpath简介 XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言.XPath基于XML的树状结构,有不同类型的节点,包括元素节点,属性节点和文本节点 ...