学js少看书肯定是不成的,要多看。
时间:2022-04-27
本文章向大家介绍学js少看书肯定是不成的,要多看。,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
今天下午在逛街的时候,脑子里突然蹦出一段代码,很简单,
function abc(){
this.aa = 123;
this.xx = function(){
console.log( this.aa );
}
}
var abc = new abc();
abc.xx();
//123
结果肯定是123,这毫无疑问。但我脑子里突然出现一个问题,
画红线处的console.log中的this.aa,分明是xx的匿名函数中的this,为什么最后却会获取到abc这个函数中的this.aa的值呢?这分明是二个function的作用域嘛。
然后我就一边逛宜家,一边想,一直到回家也没明白。
////////
回家后查了一下资料才回想起来,“js有两个很经典的判断,作用域看哪儿声明,this看谁调用”。
abc.xx();这时的xx是被abc调用,那么此时的this就是abc呗。那此时的abc是什么情况呢?它是这样的,
{aa:123},看到了吧。这时你再调用xx,然后xx函数里是this.aa,那不就是123了嘛。
////////
哎,其实很简单,大家都会,就我不会。我就是书看的少,“变量作用域是基于词法,这是编译时确定”,这话都在书上印着呢。下周抽空看看书,学习学习。
- Java基础-22总结登录注册IO版,数据操作流,内存操作流,打印流,标准输入输出流,
- YOLO,一种简易快捷的目标检测算法
- Java基础-22总结转换流,随机访问流,合并流,序列化流,Properties
- openshift镜像构建
- 关于数据库无法登录的问题反思(r6笔记第49天)
- SQL中distinct的用法
- 数据结构是哈希表(hashTable)(一)
- 关于奇怪的并行进程分析(三)(r6笔记第47天)
- 数据结构是哈希表(hashTable)(二)
- Oracle的Replace函数与translate函数详解与比较
- 关于奇怪的并行进程分析(二) (r6笔记第46天)
- Linux性能分析工具与图形化方法
- MySQL和Oracle中的隐式转换(r6笔记第45天)
- R语言的数据导入与导出(write.table,CAT)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法