函数内部的函数中的this都是指向window
刚看到一个问题关于this的,
var name="the window";
var object={
name:"silence",
packname:function(){
return this.name;
}
}
console.log(object.packname());
一般而言,在Javascript中,this指向函数执行时的当前对象。这个this指object。输出结果为 silence
改变一下
var name="the window";
var object={
name:"silence",
packname:function(){
return this.name;
}
}
var show=object.packname;
console.log(show());
当没有明确的执行时的当前对象时,this指向全局对象window。
这里show=object.packname;show();这里show没有明确的指明执行对象,所以等同于 window.show();结果是 the window
再改一下
var name="the window";
var silence={
name:"silence",
packname:function(){
return this.name;
}
}
var seraph={
name:"seraph",
packname:function(){
var fun=silence.packname;
return fun();
}
}
console.log(seraph.packname());
与2类似,fun();得到the window,fun()可以看出函数内部的函数指向window。我是这样理解的。
函数内部的函数中的this都是指向window的更多相关文章
- c++函数内部声明函数,在函数外面实现函数是可以的
这个具体有什么用我也不大清楚,只知道可以这样 #include <iostream> //#include "header1.h" using namespace st ...
- JS进阶-特殊形式的函数-内部私有函数
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- setTimeout中所执行函数中的this,永远指向window
注意是要延迟执行的函数中的this哦!! //片段一 setTimeout("alert(this)", 1); // [object Window] //片段二 var obj ...
- C#在函数内部获取函数的参数
foreach (var parameter in typeof(类名).GetMethod("方法名").GetParameters()) { Console.WriteLine ...
- ES6中的箭头函数与普通函数的区别
箭头函数与普通函数的区别 1.语法上更加简洁.清晰 基本语法: // 关于箭头函数的参数 // 如果箭头函数没有参数,直接写一个括号即可 let fun1 = () => { console.l ...
- node.js中的匿名函数, 回调函数和嵌套函数
定义一个函数相信大家已经很熟悉了, 在javascript里的函数也是非常重要的, 使用率非常高, 有几种函数不是很好理解 一, 匿名函数 var remove = function(num1) { ...
- js闭包(函数内部嵌套一个匿名函数:这个匿名函数可将所在函数的局部变量常驻内存)
js闭包(函数内部嵌套一个匿名函数:这个匿名函数可将所在函数的局部变量常驻内存) 一.总结 1.闭包:就是在一个函数内部嵌套一个匿名函数,这个匿名函数可以访问这个函数的变量. 二.要点 闭包 闭包的相 ...
- 函数内部声明变量的时候,一定要使用var命令。如果不用的话,你实际上声明了一个全局变量!闭包访问局部变量
函数内部声明变量的时候,一定要使用var命令.如果不用的话,你实际上声明了一个全局变量! function f1(){ n=999; } f1(); alert(n); 子函数可以一层一层读取到父元素 ...
- js中的局部函数和全局函数的调用
//局部函数和全局函数的特点 function fc1(){ var name ="chenhao"; function fc2(){ var age = 30; alert(na ...
随机推荐
- centos Linux 统计某个文件夹占用空间大小
转载自 http://www.07net01.com/linux/centos_Linux_tongjimougewenjianjiazhanyongkongjiandaxiao_12510_1346 ...
- ProgressBar 的使用
ProgressBar 的使用方法 转载:http://blog.csdn.net/mad1989/article/details/38042875
- 对 strcpy_s 若干测试
今天发现如果strcpy这函数,目标buffer太小,会有意想不到的崩溃.而且不容易调试.以后尽量要用strcpy_s了. strcpy_s是strcpy的更安全的版本 1.当目标字符串参数是一个字符 ...
- 【转载】COM:IUnknown、IClassFactory、IDispatch
原文:COM:IUnknown.IClassFactory.IDispatch COM组件有三个最基本的接口类,分别是IUnknown.IClassFactory.IDispatch. COM规范规定 ...
- How to evaluate a transimpedance amplifier (part 1)
In this blog, I want take a different approach and describe the technical challenge encountered whil ...
- [C程序设计语言]第五部分
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- 通过EasyUI Tree说明SQL GUID和自增列ID的使用场景
最新在开发中用到了EasyUI里面的Tree,通过API可以看到这个Tree的数据格式如下: 其中ID比较重要,API也说了,最开始我考虑到GUID比自增ID多占用了一些空间,所以采用的自增ID,测试 ...
- 指令随笔之:tail、cat、scp、&、&&、;、|、>、>>
tail(中文意思是跟踪) tail默认只看文件的最后10行内容,cat则一次显示全部内容 ping 192.168.120.204 > zyx.log & # &表 ...
- mac系统如何进行剪切
来源: http://jingyan.baidu.com/article/1612d5007f76e7e20e1eeeca.html 分步阅读 mac os x下没有像windows中现成的“剪切”命 ...
- 个人作业Week 2 ----------代码的规范和代码复审
1.是否需要有代码规范 从个人理解的角度出发,我认为代码规范还可以细分为代码的风格还有代码的结构设计(就好比排版一类的) 以前在上C语言课程的时候就看到过,老师会在打“{”的时候进行一个换行,但是有些 ...