var people = {
name: ["abc", "jack", "pepter", "jim"],
getname: function() { return function () {
var i = Math.floor((Math.random() * 4));
return {
n: this.name[i]
};
};
}
};
var myName = people.getname(); alert("name is "+myName().n);

上面代码其实,打印的是 nams is undefiend ,因为返回的函数里面的this 不是people里面的this,

1 typescript可以用lambads表达式修改

上图中就是使用lambads表达式解决找不到this问题。

2 如果是用js可以像下面这样修改

var people = {
name: ["abc", "jack", "pepter", "jim"],
getname: function() {
var name2 = this.name;
return function () {
var i = Math.floor((Math.random() * 4));
return {
n: name2[i]
};
};
}
};
var myName = people.getname(); alert("name is "+myName().n);

最新文章

  1. python 二叉树实现带括号的四则运算(自学的孩子好可怜,不对的地方请轻责)
  2. java之OOP
  3. python 练习 29
  4. J2EE 关于WebLogic下应用使用URL.openConnection获取连接返回 HttpsURLConnection与SOAPHttpsURLConnection的问题
  5. daemon 启动system V init 和 systemd 配置
  6. 十、Python练习----基础搭建飞机大战
  7. Demonstration of DB Query Analyzer 6.03 Installation and Running on Microsoft Windows 8
  8. Java公开课-02.抽象类和接口
  9. 定时执行自动化脚本-(一)导入保存jmeter参数至文件的jar包
  10. FAT文件系统规范v1.03学习笔记---3.根目录区之FAT目录项结构
  11. Dubbo分布式服务框架
  12. java基础知识-方法
  13. python五十七课——正则表达式(边界字符)
  14. learning ddr mode reigsters
  15. driftnet 抓取图片总结
  16. SSM_CRUD新手练习(2)配置文件
  17. suricate学习笔记1--初步认识(转)
  18. JSP基本用法(二)隐含对象
  19. vue头像上传
  20. Java Persistence with MyBatis 小结3

热门文章

  1. 设置datalist指定行的背景色
  2. 【转】tnsping不通,则需设置TNS_ADMIN环境变量
  3. django 学习之DRF (三)
  4. MongoDB3.2(C#版) CRUD
  5. Qt(Mac) 进程的启动
  6. const常量,常量折叠,字面常量
  7. GIS有关GP服务的发布和调用
  8. Alpha冲刺(6/10)——2019.4.28
  9. 在线作图工具 Flowchart Maker & Online Diagram Software & Visual Solution
  10. 【STL基础】list