日常题目第一篇

说下最近刚刚遇到的一些小题目是关于函数的传递,以及对象赋值等一些方面。

发下题目:

var ftn1 =function(){

console.log("test:ftn1");

};

var ftn2 =function(){

console.log("test:ftn2");

};

function ftn(f){

f();

f=ftn2;

}

ftn(ftn1);//运行结果:test:ftn1console.log("====================华丽的分割线======================");

ftn1();//运行结果:test:ftn1

题目就是上面的那个,一开始没有深入理解,纠结了一段时间,了解了器本身。

说下我的理解:首先进行预解析,然后进行,调用ftn(ftn1),ftn1作为一个实参,然后找到ftn(f),然后进行f()的调用,也是fn1()的调用,找到fn1()打印出了test:fn1,那么迷惑点在于f=ftn2,ftn2仅仅是把ftn2的值赋值给了f,但是在ftn(f)执行完毕,f就会自动销毁,本身参数就作为一个局部变量,所以不会去影响全局。

说的有点乱,理解层次还不够。忘多多指点。如有不对,望赐教!告辞。

对了把那个大神的博客地址写下浅谈javascript语法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 7,944评论 2 17
  • 单例模式 适用场景:可能会在场景中使用到对象,但只有一个实例,加载时并不主动创建,需要时才创建 最常见的单例模式,...
    Obeing阅读 2,120评论 1 10
  • 《ijs》速成开发手册3.0 官方用户交流:iApp开发交流(1) 239547050iApp开发交流(2) 10...
    叶染柒丶阅读 5,392评论 0 7
  • 相关知识点 数据类型、运算、对象、function、继承、闭包、作用域、原型链、事件、RegExp、JSON、Aj...
    sandisen阅读 11,399评论 7 175
  • 慕课网@JoJozhai 老师 TypeScript入门课程分享 TypeScript入门 ES5,ES6,JS,...
    shangpudxd阅读 10,506评论 0 22