- 浏览: 197606 次
- 性别:
- 来自: 上海
文章分类
最新评论
Checking if a Variable Exists
A better way to check if a variable is defined is to use typeof.
Because somevar is undefined.
Agruments
JavaScript is not picky at all when it comes to parameters. If you pass more parameters than the function expects, the extra parameters will be silently ignored:
>>> sum(1, 2, 3, 4, 5)
3
>>> function args() { return arguments; }
>>>args();
[]
args(1,2,3,4,true,"ninja")
[1, 2, 3, 4, true, "ninja"]
By using the arguments array you can improve the sum() function to accept any number of parameters and add them all up.
sumOnSteroids(1, 1, 1);=3
sumOnSteroids(1, 2, 3, 4);=10
var scope
You might expect that the first alert() will display 123 (the value of the global variable a)
the second will display 1 (the local a).
The first alert will show "undefined". This is because inside the function the local scope is more important than the global scope. So a local variable overwrites any global variable with the same name. At the time of the first alert() a was not yet defined (hence the value undefined) but it still existed in the local space.[color=red][/color]
CallBack Function
When you pass a function A to another function B and B executes A, it's often said that A is a callback function. If A doesn't have a name, then you can say that it's an anonymous callback function.
myarr = multiplyByTwo(1, 2, 3, addOne);
Self-invoking Functions
One good reason for using self-invoking anonymous functions is to have some
work done without creating global variables.
A drawback, of course, is that you cannot execute the same function twice
var result = ''; if (somevar){result = 'yes';}
A better way to check if a variable is defined is to use typeof.
if (typeof somevar !== "undefined"){result = 'yes';} result
Because somevar is undefined.
Agruments
var result = sum(1, 2); result;
JavaScript is not picky at all when it comes to parameters. If you pass more parameters than the function expects, the extra parameters will be silently ignored:
>>> sum(1, 2, 3, 4, 5)
3
>>> function args() { return arguments; }
>>>args();
[]
args(1,2,3,4,true,"ninja")
[1, 2, 3, 4, true, "ninja"]
By using the arguments array you can improve the sum() function to accept any number of parameters and add them all up.
function sumOnSteroids() { var i, res = 0; var number_of_params = arguments.length; for (i = 0; i < number_of_params; i++) { res += arguments[i]; } return res; }
sumOnSteroids(1, 1, 1);=3
sumOnSteroids(1, 2, 3, 4);=10
var scope
var a = 123; function f() { alert(a); var a = 1; alert(a); } f();
You might expect that the first alert() will display 123 (the value of the global variable a)
the second will display 1 (the local a).
The first alert will show "undefined". This is because inside the function the local scope is more important than the global scope. So a local variable overwrites any global variable with the same name. At the time of the first alert() a was not yet defined (hence the value undefined) but it still existed in the local space.[color=red][/color]
CallBack Function
function invoke_and_add(a, b){ return a() + b(); } function one() { return 1; } function two() { return 2; } invoke_and_add(one, two);
When you pass a function A to another function B and B executes A, it's often said that A is a callback function. If A doesn't have a name, then you can say that it's an anonymous callback function.
function multiplyByTwo(a, b, c, callback) { var i, ar = []; for(i = 0; i < 3; i++) { ar[i] = callback(arguments[i] * 2); } return ar; } function addOne(a) { return a + 1; }
myarr = multiplyByTwo(1, 2, 3, addOne);
Self-invoking Functions
( function(name){ alert('Hello ' + name + '!'); } )('dude')
One good reason for using self-invoking anonymous functions is to have some
work done without creating global variables.
A drawback, of course, is that you cannot execute the same function twice
发表评论
-
Parasitic Inheritance
2012-04-13 09:00 895Here's an ordinary object, defi ... -
Multiple Inheritance
2012-04-12 16:44 819Let's create a multi() function ... -
Using a Mix of Prototypal Inheritance and Copying Properties
2012-04-12 16:06 923You can: Use prototypal inherit ... -
Object的copy
2012-04-12 15:41 1244the use of an object() function ... -
DeepCopy LightCopy
2012-04-12 15:38 10032、浅拷贝 除了使用”prototype链”以外,还有另一种 ... -
prototype模式
2012-04-12 15:37 853http://www.ruanyifeng.com/blog/ ... -
object-oriented_javascript_encapsulation
2012-04-09 00:08 0http://www.ruanyifeng.com/blog/ ... -
关于javascript中apply()和call()方法的区别
2012-04-04 20:13 840如果没接触过动态语言,以编译型语言的思维方式去理解javaSc ... -
Read OO JS
2012-03-23 17:34 977Most values convert to true wit ... -
JavaScript 函数
2012-02-23 11:17 942JavaScript 函数 <html> ... -
JavaScirpt学习(一)
2011-11-28 17:46 1141js在线编辑网站:http://jsfiddle.net/ P ... -
JavaScript基本概念(二)
2011-09-11 03:27 667Passing Objects Here's an examp ... -
JavaScript基本概念
2011-09-08 23:44 813JavaScript 变量名称的规则: ----变量对大小写 ...
相关推荐
### JavaScript权威指南学习笔记二:客户端JavaScript #### 第十二章:Web浏览器中的JavaScript ##### 一、Web浏览器环境 在客户端JavaScript中,浏览器提供了一个特定的执行环境,其中`window`对象扮演着至关...
学习JavaScript的同时,了解并掌握这些工具的使用也是必要的。 以上是“JavaScript学习指南”源代码所涵盖的主要知识点。通过深入学习和实践,你可以成为一名熟练的JavaScript开发者,驾驭这个强大的脚本语言,创造...
学习JavaScript首先要掌握这些基本语法,为后续的高级特性学习打下坚实基础。 2. **DOM操作**:DOM(Document Object Model)是HTML和XML文档的结构化表示,JavaScript通过DOM可以访问和修改网页内容。理解DOM节点...
JavaScript二级联动菜单是一种常见的网页交互设计,用于提供更精细化的导航或数据筛选。在电子商务网站、行政管理系统等中,我们经常可以看到这种菜单形式,它能够根据用户在一级菜单中的选择,动态加载并显示相应的...
这篇教程——"JavaScript学习手册十四:HTML DOM-文档元素的操作(二)"深入探讨了如何使用JavaScript来操纵HTML文档中的元素,进一步提升网页动态性和交互性。 DOM是HTML和XML文档的一种结构化表示,它将网页内容...
目录: 第一章 javascript语言概述 第二章 JavaScript语言基础 第三章 JavaScript事件处理 第四章 JavaScript基于对象编程 第六章 string,math,array等数据对象 第七章 window及相关顶级对象 第八章 document对象
"10步学习JavaScript"是一个旨在帮助初学者系统掌握这门语言的学习资源。 第一步:了解基础 在开始JavaScript学习之旅时,首先要理解基础概念,包括变量(用于存储数据)、数据类型(如字符串、数字、布尔值等)、...
二、 JavaScript 中的函数 * 函数是JavaScript中的一种基本结构单元 * 函数可以封装一组语句,实现功能的复用 * 函数可以传递参数,实现参数的传递 * 函数可以返回值,实现结果的返回 三、 JavaScript 中的对象 *...
这份"javascript入门学习笔记"旨在为初学者提供一个全面且深入的JavaScript学习路径。 一、基础语法 JavaScript的基础包括变量、数据类型、操作符、流程控制等。变量用于存储数据,数据类型分为基本类型(如字符串...
学习JavaScript,理解对象和数组的创建、属性操作以及遍历方法至关重要。 三、DOM操作 Document Object Model (DOM)是HTML和XML文档的结构化表示。JavaScript提供了DOM API,允许我们通过JavaScript操作HTML元素,...
"10步学习 JavaScript" 的课程旨在为初学者提供一个清晰、逐步的学习路径,帮助他们快速掌握这门语言的核心概念和实用技巧。 **步骤一:基础语法** JavaScript 的学习始于基础语法,包括变量声明(`var`, `let`, `...
这个"JavaScript第二版 示例代码"的压缩包很显然是为了帮助学习者深入理解JavaScript编程的各个方面,通过实例来加强理论知识。 首先,我们看到几个以"normal_"和"hilight_"开头的.gif文件,这些通常是用于网页的...
本学习文档旨在提供全面的JavaScript知识,帮助你快速掌握开发技巧。 一、JavaScript基础 1. 变量与数据类型:了解JavaScript中的变量声明(var、let、const)及其作用域,以及基本数据类型(Number、String、...
S2_JavaScript_DLC1上机素材则可能是为第二部分(S2)的JavaScript学习准备的实践材料。这部分可能涉及更高级的主题,如对象和原型链、闭包、作用域、事件处理等。这些素材可能包含示例代码、实验项目或案例研究,让...
二、字符串操作方法 1. 访问字符:JavaScript不支持直接通过索引来修改字符串,但可以通过索引来读取,如`str1[0]`。 2. 连接字符串:可以使用`+`运算符或`concat()`方法连接字符串。 3. 字符串切割:`slice()`, `...
理解这些基础知识是学习JavaScript的起点。 二、函数与模块 函数是JavaScript中的可重用代码块,可以接受参数并返回值。了解如何定义和调用函数,以及如何利用箭头函数简化语法,是提高代码复用性的重要步骤。模块...
学习这个经典案例,开发者不仅可以掌握创建二级菜单的基本技巧,还能进一步提升对JavaScript事件处理、DOM操作和CSS结合使用的能力。此外,这样的实践也有助于理解和应用网页动态交互设计的原理,为今后开发更复杂的...
本示例重点介绍了如何利用SuperMap iClient for JavaScript和SuperMap iClient for 3D实现二三维一体化的SQL查询功能。这在地图应用中至关重要,因为用户往往需要在不同维度上进行数据查询和分析。 SuperMap ...
在这个"JavaScript实例代码(二)"的压缩包中,包含了多个示例文件,共计四百多个,旨在帮助学习者通过实践来掌握JavaScript的核心概念和技术。这些文件分别命名为C22、C15、C14、C17、C18、C19、C21、C12、C16、C20,...
《JavaScript高级教程第二版》是面向开发者的一本深入学习JavaScript的权威指南,它涵盖了JavaScript语言的各个方面,旨在帮助读者提升编程技巧和理解JavaScript的核心概念。随书附带的源代码包含了许多实例和练习,...