`

JavaScript入门指南_5

    博客分类:
  • JS
阅读更多

JavaScript_5

函数function:

  • 函数相当于java中的方法
function sayHello(name){
	alert("hello,"+name);
}
sayHello("Tom");//hello,Tom
		
  •  定义一个带返回值的函数
function sayHello(name){
	return "hello,"+name;
}
var msg=sayHello("Tom");
alert(msg);//hello,Tom

函数中的参数:

  • JS中函数不介意传递的参数数量和数据类型
  • 也就是说,定义了一个需要传递两个参数的函数你可以传递一个,两个,三个,甚至可以不传递
function sayHello(name,age){
	alert(name+" is "+age+"岁。");
}
sayHello();//undefined is undefined岁。
sayHello("tom");//tom is undefined岁。
sayHello("tom",12);//tom is 12岁。
sayHello("tom",12,"jack")//tom is 12岁。
  •  参数在JavaScript内部用一个名为arguments的类似数组的对象来管理
function sayHello(name,age){
	alert(name+" is "+arguments[1]+"岁。");
        alert(arguments.length);//2
}
sayHello("tom",12);//tom is 12岁。
 
function sayHello(name,age){
	for(var temp in arguments){
		alert(temp);//0 1
		alert(arguments[temp]);//tom 12
	}
}
sayHello("tom",12);
 

 函数表达式:

  • 函数的创建有两种形式
  • 一种是声明式的
  • 另一种是函数表达式形式
//函数声明
function add1(num1,num2){
	return num1+num2;
}
//函数表达式声明  记得要在最后加 ·分号·
var add2=function(num1,num2){
	return num1+num2;
};
var sum1=add1(12,2);
var sum2=add2(12,2);
alert(sum1);//14
alert(sum2);//14
  •  浏览器会率先读取函数声明,也就是说,你可以在函数声明前调用函数,是不会报错的
  •  使用函数表达式声明的函数则不可以
alert(add1(12,2));//14
//函数声明
function add1(num1,num2){
	return num1+num2;
}
  •  所有函数类型都拥有length属性,作用跟arguments.length一样
alert(add1.length);//2
//函数声明
function add1(num1,num2){
	return num1+num2;
}

 递归函数:

  • 计算阶乘
function factorial(num){
	if(num<=1){
		return 1;
	}else{
		return num*factorial(num-1);
	}
}
alert(factorial(3));//6

 

  • 这样做不是最佳实践,遇到下面的情况就会报错了

var z=factorial;

factorial=null;

var result=z(5);//因为factorial已经为null,所以报错

  • 最佳实践
var factorial=(function f(num){
	if(num<=1){
		return 1;
	}else{
		return num*f(num-1);
	}
});
var z=factorial;
factorial=null;
alert(z(3));//6

 闭包:

  • 定义在一个函数内部的函数
function outer(){
	var num1=12;
	function inner(){
		alert(num1);
	}
	inner();
}
outer();//12
inner();//不会执行  Uncaught ReferenceError: inner is not defined 

 

function outer(){
	var num1=12;
	var inner=function(){
		alert(num1);
	}
	inner();//12
	num1++;
	return inner;//inner()  显示13
}
outer()();//outer()获得inner,outer()()执行inner()

 

 模仿块级作用域:

(function(){
	var address="usa";
	alert(address);//usa
})();
alert(address);//Uncaught ReferenceError: address is not defined

 

 总结:

  • 函数的声明方式
  • 函数的参数解释
  • 递归函数的应用及最佳实践
  • 模仿块级作用域,作用是为了避免出现太多的全局变量
0
0
分享到:
评论

相关推荐

    JavaScript入门教程_适合初学者

    本教程旨在为新手提供一个全面的入门指南,帮助他们快速掌握JavaScript的核心概念。 首先,JavaScript是一种解释型、弱类型、基于原型的脚本语言。这意味着它不需要预先编译,而是逐行执行代码。弱类型意味着变量在...

    HTML+CSS+JavaScript编程入门指南

    下载文件是HTML+CSS+JavaScript编程入门指南这本书的示例代码,全书分HTML,CSS与JavaScript三个部分,然后结合三个部分用项目说明应用方法。各部分的代码展示了三种语言的使用方法,可以搭配webstorp执行

    Javascript入门指南(英文版)

    ### JavaScript入门指南知识点详解 #### 一、书籍概述与作者介绍 《JavaScript入门指南》(第三版)是一本面向初学者的JavaScript学习手册。本书旨在为刚接触JavaScript的学习者提供全面且深入的基础知识,帮助...

    Javascript培训资料整理分享:Javascript入门指南

    ### JavaScript培训资料整理分享:JavaScript入门指南 #### 一、初识JavaScript ##### 1.1 网页三剑客 网页开发中通常提到的“三剑客”包括HTML、CSS以及JavaScript。 - **HTML (HyperText Markup Language)**: ...

    JavaScript and AJAX_ Visual QuickStart Guide

    《JavaScript和AJAX_视觉快速入门指南》是一本专为初学者和中级开发者设计的教程,旨在帮助读者深入理解和掌握JavaScript编程语言以及AJAX(异步JavaScript和XML)技术。这本书通过直观、易于理解的方式,提供了丰富...

    JavaScript权威指南(第5版)PDF版本下载.txt

    - **第1章:入门**:介绍了JavaScript的历史背景、特点以及应用场景。 - **第2章:语法**:讲解了JavaScript的基本语法,包括数据类型、变量声明、控制结构等。 - **第3章:函数**:详细阐述了函数在JavaScript中的...

    Html+Css+Javascript从入门到精通.pdf

    ### Html+Css+Javascript从入门到精通 #### Web开发基础教程概述 《Html+Css+Javascript从入门到精通》是一本全面介绍了Web前端开发技术的教程。本书旨在帮助读者掌握Web开发的基础知识,并通过实践逐步深入理解...

    starterkit-master_javascript_f_dsp_Windows编程_

    "starterkit"通常指的是初学者入门套件,因此我们可以期待这个压缩包包含了一些基础的教程、代码示例或者工具,帮助用户入门这三个领域的知识。 【描述】"jcbqoihwd uhq iwd qwhd gqwd gd iqwddulvqf brgh wdlbef ...

    JavaScript权威指南(第5版)中文版.pdf

    ### JavaScript权威指南(第5版)中文版.pdf #### 知识点概览 《JavaScript权威指南》(第5版)是一本深入介绍JavaScript语言及其应用的经典著作,被视为JavaScript领域的巅峰之作。本书不仅适合初学者入门,也适用...

    百度地图JavaScript_API_v2.0开发指南

    百度地图JavaScript API v2.0提供了一系列接口,允许开发者在网页...整个开发指南详细地介绍了百度地图JavaScript API v2.0的各项功能,旨在帮助开发者高效地利用百度地图资源,创建功能强大、交互性强的网页地图应用。

    JSON_入门指南

    资源名称:JSON_入门指南内容简介: JSON 即 Javascript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 Javascript 的交互。本文将快速讲解 JSON 格式,并通过代码示例演示如何...

    JavaScript基础教程(pdf版)

    本教程旨在为初学者提供一个全面的JavaScript基础知识学习平台,帮助理解并掌握这种强大的脚本语言。 《JavaScript基础教程》首先会介绍JavaScript的历史背景和基本语法,包括变量、数据类型、操作符、流程控制...

    jdk1.6_javascript_DHTML_中文帮助chm

    《JDK1.6、JavaScript与DHTML:中文帮助与参考指南》 在这个压缩包中,我们包含了三个非常重要的资源,它们分别是“JDK1.6_API_中文参考.CHM”、“DHTML_参考手册.chm”以及“JavaScript语言参考手册.chm”。这些...

    JavaScript权威指南(第6版)中文版.pdf百度网盘下载地址

    《JavaScript权威指南》第六版不仅适合初学者作为入门教程,也适用于有一定经验的开发者用来深入了解JavaScript的高级特性和最佳实践。通过系统地学习本书中的内容,读者可以全面掌握JavaScript的各项技能,从而更好...

    JavaScript入门教程--书籍(pdf)

    本教程旨在为初学者提供一个全面的JavaScript入门指南,帮助你快速掌握这一强大的脚本语言。 一、JavaScript概述 JavaScript,简称JS,由Netscape公司的Brendan Eich在1995年发明,起初用于网页交互,现在已成为Web...

    javascript编程指南(第四版)

    在JavaScript的世界里,了解变量、数据类型和操作符是入门的基础。变量是存储数据的容器,JavaScript有六种原始数据类型(字符串、数字、布尔值、null、undefined和symbol)和一种复合类型(对象)。操作符则用于...

    JavaScript权威指南第六版.mobi

    这些基本概念是理解JavaScript程序设计的基础,也是初学者入门的必学内容。 接着,书中深入讨论了JavaScript的对象模型,包括原型、原型链、闭包等高级概念,这些都是JavaScript强大而灵活的核心特性。同时,书中还...

    JSON 入门指南, 非常适合于服务器与 JavaScript 的交互

    JSON 入门指南, 非常适合于服务器与 JavaScript 的交互

Global site tag (gtag.js) - Google Analytics