`
阅读更多

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模块化标准技术.JAVASCRIPT的几种模块化技术

    JS模块化标准技术.JAVASCRIPT的几种模块化技术 作为前端重要组成部分的javascript语言,其面向对象功能非常差.所以要实现代码的模块化,需要一些标准:AMD,CMD 针对2种模块化也有现成的js模块化库SeaJs,require.js 今天...

    javascript闭包详解中文word版

    Javascript中有几个非常重要的语言特性——对象、原型继承、闭包。其中闭包 对于那些使用传统静态语言C/C 的程序员来说是一个新的语言特性。本文将以例子入手来介绍Javascript闭包的语言特性,并结合...

    JavaScript之ToDoList

    JavaScript的阶段性学习小作品: 功能一:JS实现在header中实时显示时间 功能二:JS实现按键监听事件与鼠标监听事件 功能三:JS实现从input输入框...结构简单,功能简单,前期学习小作品,大概新手几个小时就可以搞懂。

    几个非常精美的 JavaScript 消息提示框插件

    网页中的提示框在用户交互过程中扮演着非常重要的角色,消息提示框分为警告消息框、确认消息框以及更为复杂的自定义字段的消息框。今天要介绍的这款JavaScript消息提示框的功能非常强大,我们可以通过配置非常轻松的...

    浏览器中使用JS操作Cookie详解

    使用原生JS操作方法在上篇文章中已经写过,原生JS虽然更简单,但是操作起来还是比较费力的,下面我们一起来看下更加简单方便的几种方法。 1.jQuery Cookie ​jQuery Cookie是一个简单、轻巧的jQuery插件,主要用于...

    Three.js入门指南(Three.js教程) Three.js开发指南

    本书针对 Three.js 的几个重要话题分章节介绍。 第 1 章介绍 Three.js 和 WebGL 的背景资料,并通过简单的例子帮助读者实现第一个Three.js 应用。 第 2 章介绍照相机的设定。 第 3、4、5 章分别介绍几何形状、材质和...

    JavaScript中几个重要的属性(this、constructor、prototype)介绍

    我们还可以使用apply和call两个全局方法来改变函数中this的具体指向。 先看一个在全局作用范围内使用this的例子: 代码如下: [removed] console.log( === window); console.log(window.alert === .alert); console....

    几个重要的分布 常用的高斯、正态

    一些重要的概率分布 比如高斯 、正态,这是一个pdf的文档

    Node.js 实战

    回到本书中来,书中并没有将内容写成作为API手册,而是一步步地,从如何安装模组,如何输出变量来进行简单测试,然后介绍了Buffer、EventEmitter、Timer等这些最基本的工具,接着分别介绍了几个I/O模组:文件、HTTP...

    Maintainable+JavaScript(编写可维护的JavaScript)

    只要是团队开发,每个人都以相同方式编写代码就是至关重要的。这样大家才能方便地互相看懂和维护对方的代码。  《编写可维护的JavaScript》向开发人员阐述了如何在团队开发中编写具备高可维护性的JavaScript代码,...

    javascript Dom 编程艺术

    本 书在简洁明快地讲述JavaScript和DOM的基本知识之后,通过几个实例演示了专业水准的网页开发技术,透彻阐述了平稳退化等一批至关重要的 JavaScript编程原则和最佳实践,并全面探讨了HTML5以及jQuery等JavaScript库...

    Three.js 入门指南(带书签)

    ★国内唯一一本介绍Three.js的技术书 ...本书针对Three.js的几个重要话题分章节介绍,包括:Three.js和WebGL的背景资料、照相机的设定、在场景中添加物体、实现动画效果、导入外部模型、添加光源和阴影效果、着色器等。

    three.js入门指南

    , 本书针对Three.js的几个重要话题分章节介绍。, 第1章介绍Three.js和WebGL的背景资料,并通过简单的例子帮助读者实现第一个Three.js应用。, 第2章介绍照相机的设定。, 第3、4、5章分别介绍几何形状、材质和网格,即...

    JavaScript DOM编程艺术(源码)

    《JavaScript DOM编程艺术(第2版)》在简洁明快地讲述JavaScript和DOM的基本知识之后,通过几个实例演示了专业水准的网页开发技术,透彻阐述了平稳退化等一批至关重要的JavaScript编程原则和实践,并全面探讨了...

    javascript入门笔记

    Javascript,简称为 JS,是一款能够运行在 JS解释器/引擎 中的脚本语言 JS解释器/引擎 是JS的运行环境: 1、独立安装的JS解释器 - NodeJS 2、嵌入在浏览器中的JS解释器 JS的发展史: 1、1992年 Nombas 开发...

    JS学习资料

    本书在简洁明快地讲述JavaScript和DOM的基本知识之后,过几个实例演示了大师级的网页开发技术,并透彻阐述了一些至关重要的JavaScript编程原则和最佳实践,包括预留退路、循序渐进和以用户为中心等。读者可以非常...

    JavaScript核心技术 PDF扫描版

    不仅介绍了最新的JavaScript知识和方向,还完全覆盖了当今Web开发中关于JavaScript的所有重要话题,它使用了大量实例代码,图文并茂地讲解了使用JavaScript的各个层次和领域的内容。它不是一本参考手册,但却是一本...

    编写可维护的JavaScript

    只要是团队开发,每个人都以相同方式编写代码就是至关重要的。这样大家才能方便地互相看懂和维护对方的代码。  《编写可维护的JavaScript》向开发人员阐述了如何在团队开发中编写具备高可维护性的JavaScript代码,...

Global site tag (gtag.js) - Google Analytics