Function类型.
首先记住一句话:函数是对象,函数名是指针。
1:

function sum (num1, num2) {return num1 + num2;
}

2:

var sum = function(num1, num2){return num1 + num2;
};

3:

var sum = new Function("num1", "num2", "return num1 + num2"); // 不推荐
上面这三种写法意义一样。一是函数声明语法定义函数,二是函数表达式定义函数,

三是使用Function的构造函数定义函数,其中3,最后一个参数始终被看做函数体。

使用不带圆括号的函数名是访问函数指针,不是调用函数

没有重载,定义两个相同名字的函数,结果就是第二个会覆盖第一个。

函数声明和函数表达式的区别
解析器会率先读取函数声明,并使其在执行 9 任何代码之前可用(可以访问);
至于函数表达式,则必须等到解析器执行到它所在的代码行,才会真正被解释执行
正确:

alert(sum(10,10));
function sum(num1, num2){return num1 + num2;
}

错误:

alert(sum(10,10));
var sum = function(num1, num2){return num1 + num2;
};

作为值的函数
可以像传递参数一样把一个函数传递给另一个函数,
也可以将一个函数作为另一个函数的结果返回。

 function callSomeFunction(someFunction, someArgument){return someFunction(someArgument);
}

调用

function add10(num){return num + 10;
}var result1 = callSomeFunction(add10, 10);
alert(result1);   //20

JavaScript高级程序设计(4)相关推荐

  1. 《JavaScript高级程序设计(第3版)》教程大纲

    词条 <JavaScript高级程序设计>是2006年人民邮电出版社出版的图书,作者是(美)(Nicholas C.Zakas)扎卡斯.本书适合有一定编程经验的开发人员阅读,也可作为高校相 ...

  2. 前端红宝书《JavaScript高级程序设计》核心知识总结

    此文是对<JavaScript 高级程序设计>一书难点的总结,也是笔者在看了 3 遍之后的一些梳理和感想,希望能借此巩固js的基础和对一些核心概念有更深入的了解. 摘要 JS基本的数据类型 ...

  3. 《JavaScript高级程序设计》(第2版)上市

      本书是技术畅销书<JavaScript高级程序设计> 的第2版,几乎全部更新.重写 了上一版的内容,融入了作者近几年来奋战在前端开发一线的宝贵经验 , 是学习和提高JavaScript ...

  4. 攻下《JavaScript高级程序设计》——第二章 在HTML中使用JavaScript

    从上一章我们知道了,JavaScript是一种专门为网页交互而设计的脚本语言,那么,它就免不了和HTML打交道,所以在设计JavaScript的时候,Netscape首要面临的就是,怎么让HTML和J ...

  5. 《javascript高级程序设计》笔记:内存与执行环境

    上一篇:<javascript高级程序设计>笔记:继承 近几篇博客都会围绕着图中的知识点展开 由于javascript是一门具有自动垃圾收集机制的编程语言,开发者不必担心内存的分配和回收的 ...

  6. 《javascript高级程序设计》笔记:变量对象与预解析

    上一篇:<javascript高级程序设计>笔记:内存与执行环境 上篇文章中说到: (1)当执行流进入函数时,对应的执行环境就会生成 (2)执行环境创建时会生成变量对象,确定作用域链,确定 ...

  7. javascript 高级程序设计_JavaScript 经典「红宝书」,几代前端人的入门选择

    人的一生中总要读几本经典书,在这个"经典"泛滥的年代,什么才是权威的代表,我想大概是一本的书的口碑,能积累下上佳口碑的书,往往也是能经得住时间推敲的.比如这本: 相信许多前端开发者 ...

  8. 《Javascript高级程序设计》读书笔记之对象创建

    <javascript高级程序设计>读过有两遍了,有些重要内容总是会忘记,写一下读书笔记备忘 创建对象 工厂模式 工厂模式优点:有了封装的概念,解决了创建多个相似对象的问题 缺点:没有解决 ...

  9. JavaScript高级程序设计(第3版)非扫描版

    前端学习js的红皮书 文档:JavaScript高级程序设计(第3版)非扫?.. 文档:JavaScript高级程序设计(第3版)非扫?.. 链接:http://note.youdao.com/not ...

  10. 《javascript高级程序设计》笔记:原型图解

    文章直接从原型图解开始的,如果对一些概念不太清除,可以结合后面几节查看 1. 图解原型链 1.1 "铁三角关系"(重点) function Person() {}; var p = ...

最新文章

  1. LeetCode 653. Two Sum IV - Input is a BST--Python解法
  2. 扔掉 Postman,Apifox 才是 YYDS!
  3. leetcode 448. Find All Numbers Disappeared in an Array
  4. 30212Java_数组
  5. Ansible8:Playbook循环
  6. 惊呆了!JDK1.8竟然打破了我对接口的一切认知...
  7. ListView,GridView以及ScrollView上拉下拉控件源码以及Demo发布啦
  8. 设定asp服务器外部组件对象的方法是,ASP 3.0对ASP 2.0的改进
  9. Tensorflow多输入模型构建以及Dataset数据构建
  10. 谷歌搜索、谷歌学术、Github的镜像网站
  11. android 如何让应用程序在全部应用程序列表里显示跟隐藏!
  12. 中级软件设计师-软考心得
  13. 【附源码】计算机毕业设计SSM小区物业管理系统
  14. H323plus添加h264等能力集的疑惑
  15. 多边形游戏-动态规划(Java)
  16. 从零开始单相在线式不间断电源(UPS)(硬件)
  17. [单片机芯片]CH32V203的USB1 HID库调试经验分享
  18. 贵州省电子计算机学校,贵州省电子工业学校
  19. 【产品推荐】河道水质监测站——水质监测平台
  20. Java注解 编译_Java注解处理器学习之编译时处理的注解详析

热门文章

  1. SQL server下载与安装教程
  2. sql数据库如何分离
  3. visio画图(保存为pdf,不留空白)
  4. 3S基础知识:VB中利用MapX创建用户定制工具
  5. cocostudio基础 教程
  6. matlab 简单低通滤波器,基于MATLAB的理想低通滤波器的设计
  7. linux 搭建webserver-BOA
  8. 用100多行python代码开发java代码生成器
  9. ibm doors api java_IBM Rational DOORS通过DXL进行二次开发初试(1)
  10. 从技术原理洞悉摄像头破解及防范