js this
2016-03-01 10:33
513 查看
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>this关键字</title> </head> <body> <script> //window是js中的全局对象,我们创建的变量实际上是给window添加属性 var zyn="我是全局变量"; alert(window.zyn); alert(zyn); function a(){ var user = "zyn"; console.log(this.user); //undefined console.log(this); //Window } a();//相当于 window.a(); var o = { user:"zyn", fn:function(){ console.log(this.user); //zyn } } window.o.fn()//相当于o.fn(); var foo = "window"; var obj = { foo : "obj", getFoo : function(){ console.log("-1-->>"+this.foo);//obj return function(){ console.log("-2-->>"+this.foo);//输出两次windows return this.foo; }; } }; var f = obj.getFoo(); f(); //window f() 执行的是getFoo的内部函数 因为f() 指向的是window 所以内部函数的this指向的就是window console.log("- f()-->>"+ f()); var foo = "window"; var obj = { foo : "obj", getFoo : function(){ var that = this;//将内部的this指向赋值到that,然后 借用that的对象进行返回 console.log("-1-->>"+this); return function(){ console.log("-2-->>"+that.foo);//输出两次windows return that.foo; }; } }; var f = obj.getFoo(); f(); //obj console.log("- f()-->>"+ f()); </script> </body> </html>
相关文章推荐
- js控制图片上传预览,使用三方插件+名称显示和控件非display:none隐藏
- JavaScript 判断一个对象的数据类型。
- BZOJ1013 [JSOI2008]球形空间产生器sphere
- js keycode大全
- Extjs中类的config和statics
- JSP指令、JSP九大隐式对象、out隐式对象详细
- JSP简单运行原理----------九大隐式对象和四大域对象
- JavaScript通过使用onerror设置默认图像显示代替alt
- JavaScript function函数种类
- jsp基础
- JavaScript如何实现组合列表框中元素移动效果
- JavaScript常用函数工具集:lao-utils
- JavaScript Array对象详解
- 提示框插件jBox.js的使用示例
- js判断IE浏览器的方法
- JS 隔行换色,checkbox选中换色,checkbox全选
- 原生javascript实现解析XML文档与字符串
- JS创建对象几种不同方法详解
- SeaJS简介三:模块载入和引用
- CSDN页面内JS跳转脚本