`

学习JavaScript(二)

 
阅读更多
Checking if a Variable Exists

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
























分享到:
评论

相关推荐

    Javascript权威指南学习笔记二

    ### JavaScript权威指南学习笔记二:客户端JavaScript #### 第十二章:Web浏览器中的JavaScript ##### 一、Web浏览器环境 在客户端JavaScript中,浏览器提供了一个特定的执行环境,其中`window`对象扮演着至关...

    JavaScript学习指南 源代码

    学习JavaScript的同时,了解并掌握这些工具的使用也是必要的。 以上是“JavaScript学习指南”源代码所涵盖的主要知识点。通过深入学习和实践,你可以成为一名熟练的JavaScript开发者,驾驭这个强大的脚本语言,创造...

    JavaScript语言与Ajax应用第二版_JavaScript语言与Ajax应用_JavaScript应用_javascri

    学习JavaScript首先要掌握这些基本语法,为后续的高级特性学习打下坚实基础。 2. **DOM操作**:DOM(Document Object Model)是HTML和XML文档的结构化表示,JavaScript通过DOM可以访问和修改网页内容。理解DOM节点...

    头歌教学实践平台 Web前端开发基础 JavaScript学习手册十四:HTML DOM-文档元素的操作(二)

    这篇教程——"JavaScript学习手册十四:HTML DOM-文档元素的操作(二)"深入探讨了如何使用JavaScript来操纵HTML文档中的元素,进一步提升网页动态性和交互性。 DOM是HTML和XML文档的一种结构化表示,它将网页内容...

    javascript二级联动菜单

    JavaScript二级联动菜单是一种常见的网页交互设计,用于提供更精细化的导航或数据筛选。在电子商务网站、行政管理系统等中,我们经常可以看到这种菜单形式,它能够根据用户在一级菜单中的选择,动态加载并显示相应的...

    javascript高级编程学习手册

    目录: 第一章 javascript语言概述 第二章 JavaScript语言基础 第三章 JavaScript事件处理 第四章 JavaScript基于对象编程 第六章 string,math,array等数据对象 第七章 window及相关顶级对象 第八章 document对象

    10步学习 javascript

    "10步学习JavaScript"是一个旨在帮助初学者系统掌握这门语言的学习资源。 第一步:了解基础 在开始JavaScript学习之旅时,首先要理解基础概念,包括变量(用于存储数据)、数据类型(如字符串、数字、布尔值等)、...

    JavaScript学习笔记,javascript基础知识,基础语法整理.pdf

    二、 JavaScript 中的函数 * 函数是JavaScript中的一种基本结构单元 * 函数可以封装一组语句,实现功能的复用 * 函数可以传递参数,实现参数的传递 * 函数可以返回值,实现结果的返回 三、 JavaScript 中的对象 *...

    javascript入门学习笔记

    这份"javascript入门学习笔记"旨在为初学者提供一个全面且深入的JavaScript学习路径。 一、基础语法 JavaScript的基础包括变量、数据类型、操作符、流程控制等。变量用于存储数据,数据类型分为基本类型(如字符串...

    JavaScript菜鸟学习教程

    学习JavaScript,理解对象和数组的创建、属性操作以及遍历方法至关重要。 三、DOM操作 Document Object Model (DOM)是HTML和XML文档的结构化表示。JavaScript提供了DOM API,允许我们通过JavaScript操作HTML元素,...

    10步学习 JavaScript

    "10步学习 JavaScript" 的课程旨在为初学者提供一个清晰、逐步的学习路径,帮助他们快速掌握这门语言的核心概念和实用技巧。 **步骤一:基础语法** JavaScript 的学习始于基础语法,包括变量声明(`var`, `let`, `...

    JavaScript第二版 示例代码

    这个"JavaScript第二版 示例代码"的压缩包很显然是为了帮助学习者深入理解JavaScript编程的各个方面,通过实例来加强理论知识。 首先,我们看到几个以"normal_"和"hilight_"开头的.gif文件,这些通常是用于网页的...

    javascript学习文档

    本学习文档旨在提供全面的JavaScript知识,帮助你快速掌握开发技巧。 一、JavaScript基础 1. 变量与数据类型:了解JavaScript中的变量声明(var、let、const)及其作用域,以及基本数据类型(Number、String、...

    accp5.0 javascript指导学习一.rar

    S2_JavaScript_DLC1上机素材则可能是为第二部分(S2)的JavaScript学习准备的实践材料。这部分可能涉及更高级的主题,如对象和原型链、闭包、作用域、事件处理等。这些素材可能包含示例代码、实验项目或案例研究,让...

    头歌教学实践平台 Web前端开发基础 JavaScript学习手册九:字符串

    二、字符串操作方法 1. 访问字符:JavaScript不支持直接通过索引来修改字符串,但可以通过索引来读取,如`str1[0]`。 2. 连接字符串:可以使用`+`运算符或`concat()`方法连接字符串。 3. 字符串切割:`slice()`, `...

    JavaScript学习文档

    理解这些基础知识是学习JavaScript的起点。 二、函数与模块 函数是JavaScript中的可重用代码块,可以接受参数并返回值。了解如何定义和调用函数,以及如何利用箭头函数简化语法,是提高代码复用性的重要步骤。模块...

    很不错的javascript实现的自定义二级菜单

    学习这个经典案例,开发者不仅可以掌握创建二级菜单的基本技巧,还能进一步提升对JavaScript事件处理、DOM操作和CSS结合使用的能力。此外,这样的实践也有助于理解和应用网页动态交互设计的原理,为今后开发更复杂的...

    基于SuperMap iClient for JavaScript和SuperMap iClient for 3D二三维一体化SQL查询

    本示例重点介绍了如何利用SuperMap iClient for JavaScript和SuperMap iClient for 3D实现二三维一体化的SQL查询功能。这在地图应用中至关重要,因为用户往往需要在不同维度上进行数据查询和分析。 SuperMap ...

    JavaScript事例代码(二)

    在这个"JavaScript实例代码(二)"的压缩包中,包含了多个示例文件,共计四百多个,旨在帮助学习者通过实践来掌握JavaScript的核心概念和技术。这些文件分别命名为C22、C15、C14、C17、C18、C19、C21、C12、C16、C20,...

    JavaScript高级教程第二版源代码

    《JavaScript高级教程第二版》是面向开发者的一本深入学习JavaScript的权威指南,它涵盖了JavaScript语言的各个方面,旨在帮助读者提升编程技巧和理解JavaScript的核心概念。随书附带的源代码包含了许多实例和练习,...

Global site tag (gtag.js) - Google Analytics