培训课题目记录3

这一题我建议各位先去自己用浏览器试一试,发现结果不符合你所想再回来看下面的内容。
        同样还是先放源码:
跟之前一样在关键部分标了序号,那么开始吧。
先别看setObj的函数体部分,等到它第一次被调用的时候再回头去看。我们从var p=..这里开始看。
 var p={name:"xixi",age:24}  这段声明了一个全局变量p引着一个对象,姑且称这个对象为A。然后我们把p扔给setObj函数:setObj(p);  好,开始执行这个函数:
            因为p当中存放的是对象A的地址,所以①所进行的是将函数外面的p所存放的地址赋给函数的局部变量:o,此时o中也放着A的地址。也就是说我们接下来如果对o进行操作,就相当于对A进行操作。至此程序里有两个变量:在window下的p以及在setObject函数的活动对象内的局部变量o。  
               ②赋一个空对象给o。此时o不再指向A,转而指向一个空对象,姑且称这个对象为B。
               ③给上面刚新建的空对象B新建一个属性name,并赋值为小红。 
 
                最后console.log(p);至此请思考一下,p从最开始到现在,有放开过它一开始指向的那个对象么?  是没有的。p从头到尾一直引着对象A。而在对象A身上只发生过一件事:①那里让它的name的值起变化。如果还没明白为什么 p 一直引着A 请再看看蓝色字部分。

所以输出结果是 :
========================================================================================================= 
第二部份的代码只是少了上面的②③两步而已,就略过了。

————以上内容皆有本人原创,欢迎在评论区一起讨论、对文章进行纠错。如需转载请邮箱联系博主征得同意,并注明转载出处 博主邮箱:[email protected]

时间: 2024-10-22 01:44:43

培训课题目记录3的相关文章

培训课题目记录2

这题貌似分了两种情况.情况一.先放源码:最开始的第一二行分别对f,g进行函数的创建.然后当程序读到红框部分的自调函数时,二话不说就直接执行里面的内容.接下来研究一下红框部分:                        if的条件中有3个值被用来进行关系逻辑运算,从左到右分别是:1.g()的返回值  2.[ ]的布尔值 3.![ ]的布尔值                         g() 的返回值好说,很明显是false.[ ]的布尔值为true.为什么? 按理说,[ ] 本身是一个数

python学习第一课要点记录

写在要点之前的一段话,留给将来的自己:第一次参加编程的培训班,很兴奋很激动,之前都是自己在网上找免费的视频来看,然后跟着写一些课程中的代码,都是照着模子写,没有自己过多的思考.感觉这样学不好,除了多写以外,还得自己思考,经过了自己思考的源码,才能真正成为自己的东西.在上课前,班主任就让我们自己想一下,通过这个培训,要达到的目标.其实我的目标很简单,不求通过这个培训班能成为什么开发工程师,年薪百万,达到人生巅峰,赢取白富美.那个不现实,我只求能够在现在实际工作中(我的工作主要是网络运维,还兼有系统

剑指offer题目记录

1.如下为类型CMyString的声明,请为该类型添加赋值运算符函数. 2.设计一个类,我们只能生成该类的一个实例.   3.在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否函数该整数.   4.请实现一个函数,把字符串中的每个空格替换成"%20".例如输入"We are happy",则输出"We%20are%20happy".   4_1

中兴创客大赛培训课:十步创业法

中兴创客大赛是公司创新提案项目选拔活动,将给60多组参赛者提供全面的培训.首讲外请了投资大咖颜麟先生,为大家讲解他的<创业十步法>. 培训时间:7月13日,下午14:30-16:30,主会场深圳研发楼2-4会议室 颜麟先生指出:当下中国每天新增1.2万家企业,每分钟新增8家:仅深圳就有185万家注册企业,平均每8人一个CEO.在中国每分钟会新增8家企业,但无论是初次创业,还是转型企业,或是大集团孵化的初创项目,80%的初创企业无法活过三年.无数的创客因为缺乏正确的思路,缺乏方法的指导,最终以失

【LeetCode题目记录-7】为完全二叉树添加层指针

Populating Next Right Pointers in Each Node Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *next; } Populate each next pointer to point to its next right node. If there is no next right node, the next

【LeetCode题目记录-10】已排序的数组去除重复元素

Remove Duplicates from Sorted Array Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length. Do not allocate extra space for another array, you must do this in place with constant memory.

编程题目记录140522:C++的第一份还算丰富的代码

题目: C++ primer第十章的大作业,打开一个文件,输入一个字符串,查找该字符串出现的所有地方并列出 计划: TestQuery类.尝试通过multimap来替代原书中map 和set的功能 class TestQuery { public: void InputFile(ifstream *fptr) { StoreLines(fptr); WordCount(); } void StoreLines(ifstream *fptr); void WordCount(); void Que

网络——相关题目记录

个人记录 1. 查看当前系统每 IP 连接数netstat -an | grep "ESTABLISHED"|awk '{print$4}'|uniq -c netstat -an | grep "ESTABLISHED"|awk '{print$4}'|awk -F: '{print$1}'|uniq -c 2. 请列出一下服务列出的端口 服务 端口 http 80 https 443 ftp 21/20 telnet 23 ssh 22 rsync 873 dn

一次Java面试题目记录

记忆得不太清楚了,不过一些基本问过的题目还是记得住的,就写一点吧. maven的使用情况问一点. snapshot和release版本的区别? maven的生命周期有了解过吗? 如何把自己写的架包推送到私服上?maven有一个deployed命令 maven有一个mirrors对吧,配置多个镜像的时候,多个镜像之间是怎么产生作用的?互相之间的作用是怎样的?调用顺序是. 如果有冲突会怎样?mirror本身是排除冲突的,我说的是你使用的哪一个插件的冲突,你配置的都是centre只会取一个. mirr