博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在JavaScript中this对象上下文作用域
阅读量:7152 次
发布时间:2019-06-29

本文共 885 字,大约阅读时间需要 2 分钟。

hot3.png

1:在函数调用模式中,例如:

     function ninja(){};

     ninja();

     var samurai = function() {};

     samurai();

这个函数的this作用域全局上下文即Windows对象

2:在方法调用模式中,例如:

     var o = {};

     o.whatever = function () {};

     o.whatever();

这个函数的this作用域的上下文就是这个对象

3:在构造器调用模式中,例如:(注意:构造函数首字母大写)

     function Ninja(){

         this.skulk = function(){ return this;}

     }

     var ninja1 = new Ninja();

     var ninja2 = new Ninja();

     assert(ninja1.skulk() === ninja1, "The 1st ninja is skulking");

     assert(ninja2.skulk() === ninja2, "The 2nd ninja is skulking");

this作用域的上下文就是为创建的新对象

4:apply/call调用模式中,例如:

     function forEach(list, callback){

          for (var n = 0; n < list.length; n++){

               callback.call(list[n], n);

          }

     }

     var list = ['shuriken', 'katana', 'nunchucks'];

     forEach(list,function(index){

          console.log(index);

          console.log(this);

          assert(this == list[index], "Got the expected value of “+ list[index]);   

     })

this作用域的上下文可以是我们指定的任何对象

转载于:https://my.oschina.net/u/2608890/blog/786290

你可能感兴趣的文章
java异常练习2
查看>>
魔方阵算法
查看>>
【转】Pycharm常用快捷键
查看>>
eclipse提交代码至GitHub
查看>>
Android Volley完全解析(二),使用Volley加载网络图片
查看>>
obexd bluetooth传输文件
查看>>
软件测试中常用语
查看>>
ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效
查看>>
结对项目开发(石家庄地铁乘车系统)
查看>>
CentOS6.2安装PhpMyadmin3.3.10
查看>>
Java运行环境的搭建---Windows系统
查看>>
定时任务redis锁+自定义lambda优化提取冗余代码
查看>>
hdu Word Amalgamation(map)
查看>>
linux每日命令(36):wc命令
查看>>
数论基础(附加例题)
查看>>
web应用,http协议简介,web框架
查看>>
递归找零问题
查看>>
纯手工编写的PE可执行程序
查看>>
实验四
查看>>
go标准库的学习-sync互斥
查看>>