函数是值。
函数是对象。
函数有方法和属性。


length属性

arguments.length指的是实际传入参数的个数
函数自身的length属性,指的是函数期望传入参数的个数。可以通过arguments.callee.length来获取


prototype属性

函数是对象,函数也有prototype属性
当函数被当作构造函数使用的时候,新创建的对象,将会从prototype上继承属性


call()、apply()

函数体中,this指针,指向的是函数的调用者。

例如

function f(){return this;}
f();//window
var o = {};
o.m = f;
o.m();// o

call()、apply()两个方法,可以通过传入参数,来改变上下文环境,也就是this指针指向。
区别在于,apply()传入的参数,除了第一个实参,其他的参数盛放在一个数组中。

function f(){return this;}
f.call(o);//this

bind()

作用:将函数绑定到某个对象,也就是让这个函数在调用的时候,this指针指向这个对象
参数:一个对象
返回值:一个新的函数

function f(){ return this.name; }
var o ={ name:"Qix"};
var new1 = f.bind(o);
new1();//Qix

绑定的时候加入参数,参数也会绑定到新函数中

function add(y){return this.x + y;}
var o = { x:1};
var new2 = add.bind(o,1);
new2();//2

toString()

一般函数返回源码
内置函数返回的源码中函数体被”[native code]”替换了


Function()构造函数

参数:
任意个,最后一个参数是函数体,其他的为形参

var f = new Function("x","y","return x+y;");
等价于
function f(x,y){return x+y;}

**:Function()创建的是一个匿名函数
这个很少用到。


《权威指南》笔记 - 8.7 函数属性、方法、构造函数相关推荐

  1. HTML5与CSS3权威指南笔记案例1

    第1章 <!DOCTYPE html> <meta charset = "UTF-8"> <title> Search </title&g ...

  2. 《Cortex-M3 权威指南 笔记》

    因了命途中的你们,我才没有荒芜了青春. – 莫言 一.介绍 整个 MCU 只有Cortex-M3 处理器内核(中央处理单元(CPU))和调试器是ARM设计的,而存储器,外设,I/O以及其它功能块是芯片 ...

  3. Java性能优化权威指南--笔记

    出处:http://xiongpq.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 原文 ...

  4. 《Hack与HHVM权威指南》——1.5.2 覆盖方法的类型

    本节书摘来自华章出版社<Hack与HHVM权威指南>一书中的第1章,第1.5.2节,作者 Owen Yamauchi,更多章节内容可以访问云栖社区"华章计算机"公众号查 ...

  5. netty权威指南笔记-以回车换行结尾的消息如何处理半包问题

    概述 TCP底层会发生粘包和拆包,这个是TCP的一个特性.为了减少网络数据传输的次数,TCP总是希望让网络数据到达一定量级的时候才将数据发送出去,而不是缓存区一有数据就马上发送数据. TCP底层会根据 ...

  6. 数组 / 伪数组 判断及方法调用 (权威指南笔记)

    判断是不是数组 var isArray = Function.isArray || function(o) {return typeof o === "object" && ...

  7. 《JS权威指南学习总结--6.7属性的特性》

    内容要点: 一.ES5中查询和设置属性的API 1.可以通过这些API给原型对象添加方法,并将它们设置成不可枚举的,这让它们看起来更像内置方法. 2.可以通过这些API给对象定义不能修改或删除的属性, ...

  8. JavaScript权威指南笔记

    为什么80%的码农都做不了架构师?>>>    第二章   词法结构 JavaScript区分大小写:/html不区分大小写 JavaScript会忽略程序中标识(token)之间的 ...

  9. Android编程权威指南笔记3:Android Fragment讲解与Android Studio中的依赖关系,如何添加依赖关系

    Android Fragment 当我在学习时,了解了Fragment词汇 Fragment是一种控制器对象,我就把所了解的简单说一下.activity可以派fragment完成一些任务,就是管理用户 ...

最新文章

  1. 鸿蒙系统8月7号,主动告别安卓,华为或很快推出搭载鸿蒙系统的手机
  2. PHP 面向对象:类的属性
  3. 进入Win8安全模式的几个办法
  4. 用ActivityGroup解决TabHost中多个Activity跳转问题
  5. Swift函数_默认参数
  6. word标题大纲级别_快速按标题层级把Word转Excel—附详细操作步骤
  7. 网页背景平铺_在大约十秒钟内为网页创建无缝平铺背景
  8. [C语言] va_start和va_end详解
  9. ajax实现下拉列表回显,layui实现下拉复选功能的例子(包括数据的回显与上传)
  10. 爬虫-练习引导-豆办电影爬取-json数据的处理
  11. 天天爱跑步——树上差分
  12. JS小技巧 ----- 在onmousedown事件下避免文本选取
  13. 利用百度地图API,在浏览器中找到自己的位置
  14. 程序员到CTO必须注意的几个关键点
  15. CLI里面的秘密……(二)强命名、元数据以及文件结构(上半部分)
  16. Regex 量词Quantifier 分组group
  17. 《模拟电子技术基础》课程笔记(九)——互补对称式功率放大电路
  18. java中void是什么意思_JAVA里VOID是什么意思
  19. 腾讯云商用密码合规解决方案,亮相2021商用密码应用创新高端研讨会
  20. 《子夜秋歌》赏析-(李白明月姑娘之六)

热门文章

  1. lammps案例分析(2):石墨烯单轴拉伸之deform方式
  2. MIT-BIH-ECG使用
  3. php randomcode 函数,MyRandomCode.php
  4. 通过机器学习的线性回归算法预测股票走势(用Python实现)
  5. 一个java随机数据的工具类
  6. 关于facebook分享不能显示图片链接问题
  7. 配置mldonkey
  8. 字节跳动面试官这样问消息队列:高可用、不重复消费、可靠传输、顺序消费、消息堆积,我整理了下
  9. 基础计算机教学论文,计算机基础教学论文范文
  10. Python---数据分析---绘制条形图---横竖条形图