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模块化标准技术.JAVASCRIPT的几种模块化技术 作为前端重要组成部分的javascript语言,其面向对象功能非常差.所以要实现代码的模块化,需要一些标准:AMD,CMD 针对2种模块化也有现成的js模块化库SeaJs,require.js 今天...
Javascript中有几个非常重要的语言特性——对象、原型继承、闭包。其中闭包 对于那些使用传统静态语言C/C 的程序员来说是一个新的语言特性。本文将以例子入手来介绍Javascript闭包的语言特性,并结合...
JavaScript的阶段性学习小作品: 功能一:JS实现在header中实时显示时间 功能二:JS实现按键监听事件与鼠标监听事件 功能三:JS实现从input输入框...结构简单,功能简单,前期学习小作品,大概新手几个小时就可以搞懂。
网页中的提示框在用户交互过程中扮演着非常重要的角色,消息提示框分为警告消息框、确认消息框以及更为复杂的自定义字段的消息框。今天要介绍的这款JavaScript消息提示框的功能非常强大,我们可以通过配置非常轻松的...
使用原生JS操作方法在上篇文章中已经写过,原生JS虽然更简单,但是操作起来还是比较费力的,下面我们一起来看下更加简单方便的几种方法。 1.jQuery Cookie jQuery Cookie是一个简单、轻巧的jQuery插件,主要用于...
本书针对 Three.js 的几个重要话题分章节介绍。 第 1 章介绍 Three.js 和 WebGL 的背景资料,并通过简单的例子帮助读者实现第一个Three.js 应用。 第 2 章介绍照相机的设定。 第 3、4、5 章分别介绍几何形状、材质和...
我们还可以使用apply和call两个全局方法来改变函数中this的具体指向。 先看一个在全局作用范围内使用this的例子: 代码如下: [removed] console.log( === window); console.log(window.alert === .alert); console....
一些重要的概率分布 比如高斯 、正态,这是一个pdf的文档
回到本书中来,书中并没有将内容写成作为API手册,而是一步步地,从如何安装模组,如何输出变量来进行简单测试,然后介绍了Buffer、EventEmitter、Timer等这些最基本的工具,接着分别介绍了几个I/O模组:文件、HTTP...
只要是团队开发,每个人都以相同方式编写代码就是至关重要的。这样大家才能方便地互相看懂和维护对方的代码。 《编写可维护的JavaScript》向开发人员阐述了如何在团队开发中编写具备高可维护性的JavaScript代码,...
本 书在简洁明快地讲述JavaScript和DOM的基本知识之后,通过几个实例演示了专业水准的网页开发技术,透彻阐述了平稳退化等一批至关重要的 JavaScript编程原则和最佳实践,并全面探讨了HTML5以及jQuery等JavaScript库...
★国内唯一一本介绍Three.js的技术书 ...本书针对Three.js的几个重要话题分章节介绍,包括:Three.js和WebGL的背景资料、照相机的设定、在场景中添加物体、实现动画效果、导入外部模型、添加光源和阴影效果、着色器等。
, 本书针对Three.js的几个重要话题分章节介绍。, 第1章介绍Three.js和WebGL的背景资料,并通过简单的例子帮助读者实现第一个Three.js应用。, 第2章介绍照相机的设定。, 第3、4、5章分别介绍几何形状、材质和网格,即...
《JavaScript DOM编程艺术(第2版)》在简洁明快地讲述JavaScript和DOM的基本知识之后,通过几个实例演示了专业水准的网页开发技术,透彻阐述了平稳退化等一批至关重要的JavaScript编程原则和实践,并全面探讨了...
Javascript,简称为 JS,是一款能够运行在 JS解释器/引擎 中的脚本语言 JS解释器/引擎 是JS的运行环境: 1、独立安装的JS解释器 - NodeJS 2、嵌入在浏览器中的JS解释器 JS的发展史: 1、1992年 Nombas 开发...
本书在简洁明快地讲述JavaScript和DOM的基本知识之后,过几个实例演示了大师级的网页开发技术,并透彻阐述了一些至关重要的JavaScript编程原则和最佳实践,包括预留退路、循序渐进和以用户为中心等。读者可以非常...
不仅介绍了最新的JavaScript知识和方向,还完全覆盖了当今Web开发中关于JavaScript的所有重要话题,它使用了大量实例代码,图文并茂地讲解了使用JavaScript的各个层次和领域的内容。它不是一本参考手册,但却是一本...
只要是团队开发,每个人都以相同方式编写代码就是至关重要的。这样大家才能方便地互相看懂和维护对方的代码。 《编写可维护的JavaScript》向开发人员阐述了如何在团队开发中编写具备高可维护性的JavaScript代码,...