函数拾遗——Javascript 进阶知识整理
来源:互联网 发布:ubuntu 16 lnmp 编辑:程序博客网 时间:2024/05/08 11:14
函数
- 函数也是一个对象,事实上,JS拥有函数的类型,可以通过
var fun=new Function(args,fun_body)
的形式定义一个函数。函数作为一个对象,有所有对象所共有的性质,同时,函数还有一个特性:可以被调用执行。 - 函数作为一个对象的方法
一个疑点:当函数作为一个对象的方法时,函数的函数名还是否有意义?因为一般函数作为对象的方法之后,对函数的引用都是通过对象的方法名的。
首先,明确一点,函数的函数名是自己本身拥有的属性,无论外部使用情况如何不会改变。形如
function Q(){ this.setQ=function(){};}
的对象,内部的函数是没有函数名的(每一个函数有一个name
的属性保存自己的函数名,匿名函数的name
是“”),而对象的方法setQ
引用了这个匿名函数,这是两个部分。
之后,我们继续函数当作对象的方法后,函数名还有没有用的讨论。
当函数在形如
function Q(){ this.setQ=function set(){};}
中set
的形式中时,不再是匿名函数,拥有函数名,通过函数名set
,函数可以与setQ这个对象属性区别开,但是与正常声明的函数还是有些不同,比如函数名的作用域只限于set函数内部,其他地方引用set只会产生变量未定义错误。
之所以提这个点,是因为如下的使用情况:
var ninja={ chirp:function(){ //do something }}var samurai={ chirp:ninja.chirp}
在这种情况下,一个对象引用的另一个对象的方法作为自己的方法,那么,在chirp
内部,它如何引用自身呢?一种较为通用的解决方法是使用this指针,this指针是指向运行是调用函数的对象的指针,通过使用this.chirp
可以获得自身。第二种方式就是使用函数名,通过自己的函数名引用自身,确保函数可以找到自己。
0 0
- 函数拾遗——Javascript 进阶知识整理
- 函数中this的指向问题 ——Javascript 进阶知识整理
- 闭包——Javascript 进阶知识整理
- javascript知识拾遗
- 变量作用域和定时器——Javascript 进阶知识整理
- Javascript 进阶知识整理[读Javascript忍者秘籍整理]
- 【知识整理】javascript基础语法总结(3)——函数
- Activity进阶知识整理
- JavaScript进阶学习——函数
- 【javascript知识进阶】对象
- C/C++拾遗——main函数
- JavaScript零碎知识整理稿件——1
- 知识拾遗
- javascript知识整理
- JavaScript知识整理
- javascript 小知识整理
- JavaScript知识整理
- JavaScript基础进阶知识汇总
- easyui-linkbutton的禁用和启用(灰色)
- 13 python装饰器,函数对象以及一些高阶函数如map/reduce,匿名函数,返回函数,偏函数等等
- 我使用过的Linux命令之ar - 创建静态库.a文件/关于Linux静态库和动态库的分析
- Android字符串资源使用格式化占位符的正确姿势
- VLOOKUP函数的使用方法(初级篇)
- 函数拾遗——Javascript 进阶知识整理
- ExtJS获取父子、兄弟容器元素方法
- Epicor系统二次开发
- VLOOKUP函数的使用方法(进阶篇)
- 2016.12.21 学习日记-模板方法模式
- 【POJ 3617 Best Cow Line】+ 构造
- openGL按照载体自身坐标系旋转
- Oracle中Clob类型处理解析
- 如何 取消Eclipse的js 、jsp、html 校验功能?