活动对象:简单说就是这个函数的参数和显示声明的变量或函数。

函数内接受的参数实际是创建了一个局部变量:【形参名】 = 【传进来的值】,js的函数传参只传值。

作用域链:执行流进入一个函数,会先创建出作用域链来,作用域链大概就是这样

  本函数的活动对象--->父函数的活动对象--->父函数的父函数的活动对象--->父函数的父函数的父函数的活动对象--->直到全局活动对象【全局没有参数】

按值传递:js中参数是按值传递的,对基本类型好理解,函数内不能修改函数外的变量;

var a = 10;
function fn(a){
a = 100;
} console.log(a); //undefined

对于引用类型就不好理解,如果传一个值为对象的变量给函数,函数内部还是可以修改这个对象的属性,但不能重赋值

  

var b = {
q:10
} function fn(b){
b.q = 20;
b = new Object();
b.q = 100;
} fn(b);
console.log(b.q);

理解:所谓传值就是说传【右值】,a = 10的右值就是10;

   对于对象,代码中new了一个对象,堆中就划分了一块区域属于这个对象,然后返回指针地址  --->  var a = new Object();  new Object()是告诉浏览器“我要一块地”,浏览器划     分好后把地址告诉a“这块地在0x12345678”,于是var a = 0x12345678,每次操作这个对象【例如:a.name = '蜜蜂老牛黄瓜'】就是顺着这个地址去到内存中操作( 便于理解 )的。

  然后如果把【a】传给【fn(a)】(强调:传参只传值,右值),就是传了0x12345678给函数,这应该就是《高程》上说的传值,这就解释上门的代码为什么可以 b.q = 20; 修改到外面的变量,因为它是顺着地址去到内存中操作的;而因为函数内部的形参是局部变量的左值,实参是右值,所以 b = new Object();  就是把右值改了,操作b就相当于操作这个右值,这个新的b会在函数执行完毕后立即销毁。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

一切皆对象,对象是属性的集合,对象是由函数创建的,函数也是对象。

理解:只要是属性的集合就可以说它是对象,函数天生自带一个属性,这个属性的值是个对象( 另一个属性的集合 ),这个对象一开始只有一个属性,这个属性指向函数本身。

  所以 typeof  function的时候看的是这个函数的原型的属性的对象的第一个属性的值,函数本身,所以返回function;typeof 其他的对象可能,其他对象的原型里面有一些可以让typeof识别的,所以返回object。

js_笔记_8月7日记录_活动对象_作用域链_按值传递的更多相关文章

  1. linux 进阶命令笔记(12月26日)

    1. df 指令 作用:查看磁盘空间 用法: #df -h       -h 表示以可读性较高的形式展示大小   2.free 指令 作用:查看内存使用情况 语法:#free -m       -m表 ...

  2. 4月11日 python学习总结 对象与类

    1.类的定义 #类的定义 class 类名: 属性='xxx' def __init__(self): self.name='enon' self.age=18 def other_func: pas ...

  3. 《高级软件测试》web测试实践--12月31日记录

    今日的任务进度如上图所示.我们对华科软件学院和计算机学院的网站进行了对比分析,分析的角度包括基本功能分析.前端性能分析.用户调研等.在这里我们简单总结下我们得到的评测结果. 基本功能分析:计算机学院和 ...

  4. 《高级软件测试》web测试实践--12月30日记录

    考完数学,我们正式开始web测试实践的作业,今天,我们主要进行了方案的选择和人员的分工.任务计划和安排如上图所示. 任务进展:完成题目选择和人员分工: 遇到问题:暂无: 下一步任务:完成软件评测.用户 ...

  5. 11月28日 记录一个错误❌,看ruby on rails --active support core extensions--present? && presence && duplicable?

    ❌错误 1. @job.resume.count: 提示❌   undefined method `resume' ✅: @job.resumes.count  //解释:调出某一个job的所有简历, ...

  6. 西安OpenParty11月29日活动高清图文回顾——新增西安APEC蓝美图!

    本次活动由西安OpenParty负责线下活动组织运营,线上由InfoQ-QClub.OSChina协办. OSChina活动召集帖:运维为王——应用系统.DevOps与Docker(11月29日) I ...

  7. 2013年9月29日 iOS 周报

    新闻 Apple Tech Talks 2013 在中国上海的iOS Tech Talks活动将于11月12日展开,活动主要针对iOS 7.活动分为App开放日和游戏开放日,主要内容可查看链接.当你看 ...

  8. JavaScript学习笔记——JS中的变量复制、参数传递和作用域链

    今天在看书的过程中,又发现了自己目前对Javascript存在的一个知识模糊点:JS的作用域链,所以就通过查资料看书对作用域链相关的内容进行了学习.今天学习笔记主要有这样几个关键字:变量.参数传递.执 ...

  9. 2016年2月16日开始,每天一篇,记录学习心得,【基本技能篇】>>开篇《如何阅读一本书——心得》

    如何阅读一本书——心得 ——2016年2月12日 要达到阅读的所有目的,就必须在阅读不同书籍的时候,运用适当的不同速度.读的太快或太慢,都一无所获. 四个阅读层次:①基础阅读,具有基本阅读的能力,包括 ...

随机推荐

  1. npm 安装 electron 失败的解决方案

    npm 安装 electron 失败的解决方案 shit GFW npm 安装 electron 失败 解决方案 https://www.npmjs.com/package/nrm $ nrm ls ...

  2. webfullstack website

    webfullstack website refs https://www.lanqiao.cn/paths/ xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许 ...

  3. Fetch & Headers & CSRF

    Fetch & Headers & CSRF https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetc ...

  4. TypeScript Generics

    TypeScript Generics https://www.typescriptlang.org/docs/handbook/generics.html 泛型 1 Generic Interfac ...

  5. AMP & PWA

    AMP & PWA AMP is a web component framework to easily create user-first websites. stories. ads. e ...

  6. windows 隐藏desktop.ini文件

    原文 在文件夹选项>查看 勾选"隐藏受保护的操作系统文件(推荐)"选项

  7. Renice INC:解密干型葡萄酒

    市场上,干型葡萄酒往往对比甜型葡萄酒(如甜红.甜白)受到更多葡萄酒爱好者的青睐.在葡萄酒界,大部分的红葡萄酒和白葡萄酒也都是干型的,而且它们的口感往往各有特色,并非千篇一律.今天,就跟随Renice ...

  8. .NET 6 Preview 1 发布

    前言 2021 年 2 月 17 日微软发布了 .NET 6 的 Preview 1 版本,那么来看看都有什么新特性和改进吧,由于内容太多了因此只介绍一些较为重点的项目. 统一和扩展 .NET 6 在 ...

  9. Elasticsearch 分片集群原理、搭建、与SpringBoot整合

    单机es可以用,没毛病,但是有一点我们需要去注意,就是高可用是需要关注的,一般我们可以把es搭建成集群,2台以上就能成为es集群了.集群不仅可以实现高可用,也能实现海量数据存储的横向扩展. 新的阅读体 ...

  10. C++入门(1):计算机组成

    系列文章尽在 | 公众号:lunvey 学习C++之前,我们有必要了解一下计算机的简单组成,毕竟C++是需要操作内存的一门语言.大家或许知道内存是什么,但是内存怎么读取和操作数据以及数据的表现形式会不 ...