JS函数本质更像一个对象,有属性和方法。

将函数定义作为对象的属性,则称之为对象方法;函数如果用于创建新的对象,则称之为对象的构造函数。

(1)JS使用关键字  function  定义函数。

函数可以通过声明定义,也可以是一个表达式。

function functionName( parameters){
//函数体,执行的代码
   //函数体内的可执行语句以分号间隔
}

函数的声明语句不是可执行语句,所以不需要以分号结束。

函数只有在调用的时候才会执行。

函数表达式可以存储在变量中,该变量可以作为一个函数使用。这种情况的函数被称为  匿名函数  没有函数名称。

var x = function ( a,b ){ return a + b};
var z = x ( 4,3 );

(2)JS中还可以使用自带的函数构造器  Function( )  进行定义。

var myFunction = new Function("a" , "b", "return a*b");
//构造函数中myFunction是对象形式
var x = myFunction(4,3);

在JS中很多时候需要尽量避免使用关键字  new   ,上面的实例可以不适用构造函数,直接写成以下形式

var myFunction = function(a,b){ return a*b };
var x = myFunction(4,3);

函数提升:

提升是JS默认将当前作用域提升到前面去的行为,应用在变量的声明和函数的声明。因此函数可以在声明之前调用。(使用表达式定义函数时无法进行提升,作用域被表达式中的变量限定了)

myFunction(5);
function myFunction(y){
return y * y;
}

自调用函数:

函数表达式后跟 () ,则函数会自动调用。但是函数内的参数不能自调用声明的函数,一定要把这个和递归区分开

(function (){
var x = "hello"; //我将调用自己
})(); //通过添加括号来说明这是一个函数表达式 (函数声明)()

有返回值的函数通常都可以当作一个值用于赋值或运算表达式中。

最新文章

  1. spring-从普通java类取得注入spring Ioc容器的对象的方案
  2. Unity模型导入导出
  3. POJ_1287_mst
  4. 使用FileResult导出txtl数据文件
  5. ios专题 - objc runtime 动态增加属性
  6. PHP开发APP接口---返回数据的封装类
  7. 如何更好地理解和使用Github
  8. 14.如何解决使用webpack打包之后,font-awsome路径不对的问题,终极解决方法
  9. mysql myisam转innodb的2种方法
  10. hdu 5521 最短路
  11. 码农人生——从未学过Android如何开发Android App 案例讲解-第002期案例
  12. CSS3选择器之学习笔记
  13. 用户用户组管理:用户管理命令-passwd
  14. 如何取出word文档里的图片
  15. JS模拟PHP的sleep
  16. 使用OData快速构建REST服务
  17. Java中的class为什么要设置访问控制?和C++比较的感悟
  18. oracle语法
  19. python并发之multiprocessing
  20. CF 834B The Festive Evening【差分+字符串处理】

热门文章

  1. 源码分析(5)-ArrayList、Vector和LinkedList(JDK1.8)
  2. Windows10 搭建 ElasticSearch 集群服务
  3. node.js vue开发环境搭建
  4. python基础:如何使用 pip 安装第三方库
  5. 分享一个我自己做的 Excel 万年历
  6. HBase中加盐(Salting)之后的表如何读取:协处理器文章
  7. Android学习笔记样式资源文件
  8. 一文带你了解Redis持久化完整版本
  9. 从 0 开始机器学习 - 神经网络反向 BP 算法!
  10. ADB命令 使用