`
阅读更多

js函数几个重要内容:

js中不存在函数重载,如果定义了多个同名函数,最后一个会覆盖掉前面所有函数。

 

1:Arguments对象(可以实现模拟重载的效果)

  利用arguments对象的length属性,可以获取函数接收的参数的个数

 

例如:

 

function add(){
	if(arguments.length == 2){
		return arguments[0] + arguments[1];		
	}else if(arguments.length == 3){
		return arguments[0] + arguments[1] + arguments[2];
	}
}	

add(2,4);    //output      6
add(2,4,5);    //output     11

 

 

 

2:变量的作用域

  在js中定义变量是可以不用var修饰符的,定义局部变量时,如果没有使用var修饰符,

  js会自动将这个变量定义为全局变量

例如:

 

var a = "a";
	
function fn(){
	b = "b";
		
	alert(a);   //output   a
	alert(b);   //output   b
}

fn();
	
alert(a);  //output   a
alert(b);  //output   b

 

 

全局变量和局部变量同名,函数在调用时,会寻找局部变量(js中,局部变量的优先级高于全局变量)

 

例如:

 

var a = "a";  //定义并初始化变量a

function fn(){   //函数fn加载,未调用
	alert(a);  //output   undefind

	var a = "b";  //定义变量a,但未初始化

	alert(a);   //output   b
}
	
fn();    //调用函数fn
alert(a );   //output   a

 

 

3: js中的几种特殊函数

 

(1)匿名函数:(可以将函数作为参数传递)

可以定义某个匿名函数来执行某些一次性任务

function(参数){方法体}

例如:

 

function add(a, b){
	return a() + b() ;
}

var one = function(){
	return 2;
};
var two = function(){
	return 4;
};

alert(add(one,two));    //output   6

 

 

one 和 two 是函数

调用函数 add() 时,将 one 和 two 函数作为参数传递

函数 add() 在调用时,分别执行了函数 one 和 two

将函数 one 和 two 的运算结果,再次进行运算

这时,函数 one 和 two 就叫做回调函数

 

(2)回调函数:就是以函数作为参数传递给另外的函数来调用,作为参数的函数就叫做回调函数

 

alert( add( function(){return 2;}, function(){return 4;} ) );  //output   6

 

这里作为参数传递的匿名函数,就叫做匿名回调函数

 

(3)自调函数:(一般情况下,自调函数封装的函数都是匿名函数)用来执行某些一次性任务

第一个小括号:封装函数

第二个小括号:调用封装的函数

 

例如:

不含参数:

(
	function(){
		alert("javaScript");
	}
)();

 

 

含有参数:

(
	function(str){
		alert(str);
	}
)("hello");	

 

 

(4)私有(内部)函数:

节省了全局的命名空间

保证了私有性:只能自己范围内使用,外部不能访问

 

例如:

function fn(){
	var a = "hello";
		
	function n(){
		return a + "javaScript";
	};

	return n();
}
	
alert(fn());  //output  hello javaScript
alert(n());    //output    undefind

 

 

(5)返回函数的函数:

 

例如:

function fn(){
	//逻辑
	return function(){
		//逻辑
		return "javaScript";
	};
}

alert(fn());  //output   function(){return "javaScript";}

//要打印“javaScript”
alert(fn()());   //output   javaScript
var fun = fn();
alert(fun());   output    javaScript

 

分享到:
评论

相关推荐

    几个比较常用的JS

    本压缩包中的"几个比较常用的JS"包含了几个在实际开发中经常使用的JS代码片段或库,这些工具能够帮助开发者提高效率,实现各种功能。 1. DOM操作: JavaScript的核心之一就是Document Object Model(DOM) API,...

    利用js实现几个效果

    以下将详细讲解利用JavaScript实现的几个关键效果。 1. 斑马线效果: 斑马线效果通常应用于表格,使得相邻的行呈现不同的背景色,从而提高可读性。实现这个效果可以使用CSS的`:nth-child`伪类选择器,配合...

    Javascript基础网页中调用JS代码的几种方法

    ### JavaScript基础网页中调用JS代码的几种方法 在网页开发过程中,JavaScript作为一种重要的客户端脚本语言,被广泛应用于交互式网页设计中。本文将详细介绍几种在HTML文档中调用JavaScript代码的方法,帮助开发者...

    几个经典JavaScript控件下载

    在这个“几个经典JavaScript控件下载”的压缩包中,包含了几个实用的JavaScript组件,这些组件可以帮助开发者创建更加交互性和用户友好的网页。 1. **表格格式的树示例**: 树形结构在数据展示中非常常见,例如...

    新手常用的几个JS封装类

    在JavaScript编程中,封装是面向对象编程的一个重要概念,它有助于提高代码的可重用性和可维护性。作为新手,了解并熟练运用一些常见的JS封装类对于提升开发效率至关重要。以下我们将详细介绍标题和描述中提到的几个...

    javaScript 中文开发文档

    闭包是JavaScript中的一个重要特性,允许函数访问并操作其词法作用域内的变量,即使该函数已经执行完毕。 4. **函数式编程**:JavaScript支持函数式编程范式,如高阶函数、函数作为一等公民、函数组合和柯里化等...

    我在工作中用到的几个轻量级的js库

    标题中的“我在工作中用到的几个轻量级的js库”揭示了本文将分享作者在实际项目中常用的一些小型JavaScript库。这些库通常具有体积小、功能实用的特点,适合优化网页性能,降低加载时间,同时提供高效开发工具。 ...

    js 计算时间(几分钟前、几小时前、几天前、几周前、几月前)

    在JavaScript中,计算时间差并显示为“几分钟前”、“几小时前”、“几天前”、“几周前”或“几月前”的功能是一项常见的需求,主要用于动态更新信息的时效性,比如社交媒体的状态更新或者消息通知。这个功能的核心...

    Eclipse的JavaScript插件 JSEditor.7z

    JSEditor插件主要包含以下几个关键功能和特点: 1. **语法高亮**:JSEditor提供了对JavaScript语法的高亮显示,使代码更易读,有助于快速定位错误和理解代码结构。 2. **代码自动完成**:这个插件支持智能代码补全...

    动态加载外部JS文件

    动态加载外部JS文件是网页开发中的一个重要技术,它允许网页在需要时按需加载JavaScript资源,从而提高页面的加载速度,优化用户体验,并有效地管理复杂的项目结构。以下将详细阐述动态加载的原理、方法以及相关实践...

    js解析二维码图片的内容

    在解析二维码时,主要涉及到以下几个关键知识点: 1. **HTML5 Canvas API**:这是JavaScript处理图像的基础。通过`<canvas>`元素,我们可以加载图片并对其进行绘制。`HTMLImageElement`对象的`src`属性用于设置或...

    javascript100个小例子

    在JavaScript的学习中,了解和掌握以下几个关键知识点至关重要: 1. **基础语法**:包括变量声明(var、let、const)、数据类型(如字符串、数字、布尔、数组、对象)、运算符(算术、比较、逻辑、三元)、流程控制...

    几个自己练习的js

    【标题】"几个自己练习的js"所涉及的知识点主要集中在JavaScript这门编程语言上,JavaScript是一种广泛应用于网页和网络应用开发的脚本语言,它主要用于客户端的网页交互,但也可以在服务器端(如Node.js)运行。...

    几个比较厉害的js脚本,供以后学习之用

    下面将详细探讨JavaScript在Web开发中的重要性和几个关键知识点。 1. **DOM操作**:JavaScript与HTML文档对象模型(DOM)紧密相连,通过DOM,我们可以动态地创建、修改或删除HTML元素。例如,通过`document....

    收藏几个用纯JS实现的简易绘图板

    标题“收藏几个用纯JS实现的简易绘图板”指的是使用JavaScript编程语言创建的基本在线绘图工具。这种类型的工具允许用户在网页上进行绘画和图形创作,无需依赖其他复杂的图形库或插件。通过纯JS实现,我们可以学习到...

    Ant构建中使用JS脚本方法

    JavaScript脚本在Ant中的使用通常涉及以下几个关键点: 1. **引入JavaScript库**:如果你的脚本需要依赖某些JavaScript库,你可以使用`<classpath>`元素来添加这些库到脚本的类路径中。 2. **定义变量**:在Ant的...

    flv有关的几个js(flv.min&swfobject&DPlayer.zip)

    这里提到的“flv有关的几个js”指的是与FLV视频格式相关的JavaScript库,它们允许开发者在网页上播放FLV视频。下面我们将深入探讨这三个文件:flv.min.js、DPlayer.min.js和swfobject.js。 1. **flv.min.js**: 这...

    html项目和javascript特效(有几个静态页面)

    这个项目包含几个静态页面,这些页面展示了HTML基础结构与JavaScript动态效果的结合。 首先,HTML(HyperText Markup Language)是网页内容的主要标记语言,用于定义网页的结构和内容。在这些静态页面中,我们可以...

    几款javascript js 生成 统计图 统计报表

    在IT行业中,JavaScript是一种广泛使用的前端编程语言,它在网页和应用程序中发挥着至关重要的作用。统计图和统计报表是数据分析的重要工具,可以帮助用户直观地理解数据。在JavaScript的世界里,有多种库和框架可以...

    自己写的几个js功能

    在"自己写的几个js功能"中,4级联动可能指的是在一个下拉菜单中,当用户选择某一选项时,与其相关的其他下拉菜单会根据预设规则自动更新。这种功能常用于地区选择或者产品分类,例如国家-省份-城市-区县的逐级选择。...

Global site tag (gtag.js) - Google Analytics