博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
函数和对象
阅读量:4958 次
发布时间:2019-06-12

本文共 911 字,大约阅读时间需要 3 分钟。

1.  每个函数都包含以下属性:

  • 一个 prototype 属性,本质是一个对象,用于定义类实例的共享方法
  • 一个 this 关键字,函数作为方法时,引用调用方法的对象。
    Tip: function 单独调用的时候,称作函数; 被对象调用的时候,称作方法
  • 一个 arguments 类数组对象,并不是真正的数组,包含传给函数的所有实参
    arguments.length 表示实参个数
    arguments.callee 表示正在执行的当前函数
    arguments.caller 表示调用当前函数的上一级函数
    FunctionName.length 表示形参个数 

2.  使用 new F(...) 或者构造函数调用创建的对象,都隐式包含一个指针,指向构造函数的 prototype 属性。

  构造函数通常不需要使用 return 语句返回值,执行完毕后,会返回新创建的对象。

  如果构造函数中使用 return 语句返回了一个对象,那么表达式就使用这个对象。

  如果构造函数使用return 语句但没有返回值或者返回了一个原始值(primitive value),那么返回的这个值

  会被忽略,还是返回新创建的对象。

3.  函数可以做为值使用,进行赋值,例如:

  function A(name) { ... }

  var b = A;

  b("bailiangxigua");

4.  函数不是原始值,是一种特殊的对象,那么就可以给函数添加属性,函数的属性一般被用作静态变量。

  uniqueInteger.counter = 0;

  // 每次调用这个函数都会返回一个不同的整数
  function uniqueInteger() {
    return uniqueInteger.counter++;
  }

5.  为了不给全局作用域造成污染,很多时候都使用匿名函数包裹使用的变量,此时的函数相当于命名空间。

(function() {

    var a = 23;
    var b = "laeon";
});

转载于:https://www.cnblogs.com/bylion/p/4995120.html

你可能感兴趣的文章
动态方法决议 和 消息转发
查看>>
WPF自定义搜索框代码分享
查看>>
js 基础拓展
查看>>
C#生成随机数
查看>>
iOS CoreData介绍和使用(以及一些注意事项)
查看>>
Android应用程序与SurfaceFlinger服务的连接过程分析
查看>>
Java回顾之多线程
查看>>
sqlite
查看>>
机电行业如何进行信息化建设
查看>>
9、总线
查看>>
Git 笔记 - section 1
查看>>
HDU6409 没有兄弟的舞会
查看>>
2018 Multi-University Training Contest 10 - TeaTree
查看>>
2018 Multi-University Training Contest 10 - Count
查看>>
HDU6203 ping ping ping
查看>>
《人人都是产品经理》书籍目录
查看>>
如何在git bash中运行mysql
查看>>
OO第三阶段总结
查看>>
构建之法阅读笔记02
查看>>
DataTable和 DataRow的 区别与联系
查看>>