<<JavaScript编程全解>>阅读笔记之函数与闭包

1.通过函数声明语句声明的函数,可以在进行声明的代码行之前调用

function doit()
{
fn();
function fn()
{
alert("ok");
}
}
doit(); //ok

2.匿名函数不能再进行声明代码行之前调用

function doit()
{
fn();
fn= function ()
{
alert("ok");
}
}
doit(); //Uncaught ReferenceError: fn is not defined

3.在函数没有对应形参的实参时,可以用arguments访问参数值

function sum()
{
var number = arguments.length;
var s = 0;
for (var i = 0; i < number; i++)
{
s += arguments[i];
}
alert(s);;
}

sum(1, 2, 3, 4, 5, 6, 7, 8, 8);
sum(100, 101);

4.函数作用域的注意事项

var x = 100;
function show()
{
alert(x); //undefined
var x = 2;
alert(x);//2
}
show();

函数内部重新声明了变量X,所以在声明以前的x为未定义

时间: 2024-07-30 10:15:47

<<JavaScript编程全解>>阅读笔记之函数与闭包的相关文章

【1】JavaScript编程全解笔记(一)

1.概述 本书涵盖了 JavaScript 各个方面的主题,从客户端以及服务端 JavaScript 等基础内容,主要讲了  HTML5.Web API.Node.js 与 WebSocket 等技术. 本书前半部分对 JavaScript 基础进行解说. 本书后半部分主要介绍包括客户端 JavaScript.HTML5.Web API 以及服务器 JavaScript 等与 JavaScript 相关的应用领域. ing!!!

JavaScript 编程精解 中文第三版 翻译完成

原书:Eloquent JavaScript 3rd edition 译者:飞龙 自豪地采用谷歌翻译 部分参考了<JavaScript 编程精解(第 2 版)> 在线阅读 PDF格式 EPUB格式 MOBI格式 代码仓库 赞助我 协议 CC BY-NC-SA 4.0 原文地址:https://www.cnblogs.com/wizardforcel/p/9125631.html

[已读]JavaScript编程精解

译者汤姆大叔,应该很多人都知道,他写了一系列的关于闭包与作用域理解的文章,但是由于创建了一些我不理解的新名词,我不爱看. <JavaScript编程精解>算是买得比较早的一本书,那会大肆搜罗js基础书籍,这本应该是在我看完<javascript高级程序设计(第二版)>之后,紧接着看的,金玉在前,所以,原谅我对它的印象不够好,另外,我没有耐心按照书中生态圈的例子一点一点敲代码,对很多人提到的这本书的趣味性也就没有体会. 关于内容,首先,它不适合没有基础的读者看,会有一点难看懂.第二,

Sql Server函数全解&lt;五&gt;之系统函数

原文:Sql Server函数全解<五>之系统函数  系统信息包括当前使用的数据库名称,主机名,系统错误消息以及用户名称等内容.使用SQL SERVER中的系统函数可以在需要的时候获取这些信息.下面介绍系统函数的作用和使用方法. 1.返回表中指定字段的长度   COL_LENGTH(table,column)函数返回表中指定字段的长度值.其返回值为int类型,table为要确定其列长度信息的表的名称,是nvarchar类型的表达式.column为要确定其长度的列的名称,是nvarchar类型的

Java IO编程全解(六)——4种I/O的对比与选型

转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7804185.html 前面讲到:Java IO编程全解(五)--AIO编程 为了防止由于对一些技术概念和术语的理解或者叫法不一致而引起歧义,这里对涉及到的专业术语或者技术用语做下声明:如果它们与其他一些地方的称呼不一致,请以本解释为准. 异步非阻塞I/O 很多人喜欢将JDK1.4提供的NIO框架成为异步非阻塞I/O,但是,如果严格按照UNIX网络编程模型和JDK的实现进行区分,实际上它只能被称为非阻塞I/

Java IO编程全解(三)——伪异步IO编程

转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7723174.html 前面讲到:Java IO编程全解(二)--传统的BIO编程 为了解决同步阻塞I/O面临的一个链路需要一个线程处理的问题,后来有人对它的线程模型进行了优化,后端通过一个线程池来处理多个客户端的请求接入,形成客户端个数M:线程池最大线程数N的比例关系,其中M可以远远大于N,通过线程池可以灵活的调配线程资源,设置线程的最大值,防止由于海量并发接入导致线程耗尽. 下面,我们结合连接模型图和源

《JavaScript编程精解》读书笔记

第一章 JavaScript基础:值.变量.控制流程 JavaScript里有六种基本类型:number类型.string类型.boolean类型.object.function和undefined. 1)数字number类型的二进制存储方式: 标准的JavaScript数字描述是64位的浮点型,即double型,遵循IEEE754规范.存储格式如下: 以144的存储为例: 144=1.44* 参考链接,还应留意移码.补码的概念: http://www.cnblogs.com/wz327/arc

B17-禅与 Objective-C 编程艺术的阅读笔记

以下仅为个人阅读笔记,记录翻阅之用.原文地址:https://github.com/oa414/objc-zen-book-cn 感谢! 一.单例问题 参照前面单例的滥用一文. http://www.cnblogs.com/yaann/p/4661909.html 二.类簇 三.属性 四.断言 条件成立就抛出异常. 五.相等性 六.Categories 八.Pragma的使用 九.Block 十.self的循环引用 十一.多重委托

JavaScript高级程序设计7学习笔记之函数表达式

函数表达式是JavaScript中的一个既强大有容易令人困惑的特性 定义函数的方式有两种,一种是函数声明,另一种就是函数表达式 关于函数声明,它的一个重要特征就是函数声明提升,意思是在执行代码前会读取函数声明,这就意味着可以把函数声明放在调用它的语句后面 sayHi(); function sayHi(){alert("hi");} 第二种创建函数的方式是使用函数表达式,函数表达式有几种不同的语法形式 最常见的一种方式是 var functionName = function(arg0