Javascript基础知识盲点总结之函数


Posted in Javascript onMay 15, 2016

函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。本文重点给大家介绍js基础知识盲点总结之函数。

一、函数中的arguments对象

每个函数内部都有一个arguments,它能返回函数所接受的所有参数

注意:argumens接收的是实参

如下是利一个利用arguments特性编写的求和函数:

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; 
}

二、关于变量的作用域

在javascript中,不能为变量定义特定的块级作用域,但是可以定义其所属的函数域。

javascript中的全局变量指的是声明在所有函数之外的变量

在一个函数内部定义的局部变量,在函数外部是不存在的

如果在函数内部声明一个变量时没有使用var语句,该变量就会被默认为全局变量(即便在函数中定义外部也可以访问)。这种变量会在函数被调用之前不存在,调用函数后会首次被创建并赋予全局作用域

三、自调函数

自调函数是可以在定义后自行调用的函数,基本结构如下:

{ 
function(name){ 
alert(‘Hello' + name + ‘!'); 
} 
}(‘Martin')

后面的()可以进行参数传递,其内声明的值会自动传递到function的参数中

使用如上这种自调匿名函数不会产生任何的全局变量

四、可自行重写的函数

这种函数的特点是可以在执行之后自己进行函数重写,下面是一个例子:

function a(){ 
alert(“A”); 
a = function(){ 
alert(“B”) 
}; 
}

第一次调用a()时,执行alert(“A”);第二次调用a()时,执行alert(“B”)。因为在第一次执行该函数时,其将全局变量a重新定义了

以上所述是小编给大家介绍的Javascript基础知识盲点总结之函数的相关知识,希望对大家以上帮助!

Javascript 相关文章推荐
用prototype实现的简单小巧的多级联动菜单
Mar 24 Javascript
node.js中的console.assert方法使用说明
Dec 10 Javascript
js图片翻书效果代码分享
Aug 20 Javascript
探究JavaScript中的五种事件处理程序方式
Dec 07 Javascript
JS弹性运动实现方法分析
Dec 15 Javascript
微信小程序 详解下拉加载与上拉刷新实现方法
Jan 13 Javascript
在react-router4中进行代码拆分的方法(基于webpack)
Mar 08 Javascript
node中间层实现文件上传功能
Jun 11 Javascript
Vue源码解读之Component组件注册的实现
Aug 24 Javascript
Electron实现应用打包、自动升级过程解析
Jul 07 Javascript
js实现搜索提示框效果
Sep 05 Javascript
Vant 中的Toast设置全局的延迟时间操作
Nov 04 Javascript
深入理解$.each和$(selector).each
May 15 #Javascript
js中最容易被忽视的事件问题大总结
May 15 #Javascript
jquery点击改变class并toggle的实现代码
May 15 #Javascript
js停止冒泡和阻止浏览器默认行为的简单方法
May 15 #Javascript
浅析js绑定事件的常用方法
May 15 #Javascript
js添加事件的通用方法推荐
May 15 #Javascript
js阻止默认浏览器行为与冒泡行为的实现代码
May 15 #Javascript
You might like
第十一节 重载 [11]
2006/10/09 PHP
php Http_Template_IT类库进行模板替换
2009/03/19 PHP
PHP 编程安全性小结
2010/01/08 PHP
广告代码静态化js通用函数
2007/05/09 Javascript
JavaScript使用技巧精萃[代码非常实用]
2008/11/21 Javascript
js实时获取系统当前时间实例代码
2013/06/28 Javascript
JS读取XML文件示例代码
2013/11/15 Javascript
利用window.name实现windowStorage代码分享
2014/01/02 Javascript
Javascript遍历Html Table示例(包括内容和属性值)
2014/07/08 Javascript
详解AngularJS Filter(过滤器)用法
2015/12/28 Javascript
JS限制输入框输入的实现代码
2018/07/02 Javascript
react脚手架如何配置less和ant按需加载的方法步骤
2018/11/28 Javascript
在Vue环境下利用worker运行interval计时器的步骤
2019/08/01 Javascript
[59:00]OG vs TNC 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python以环状形式组合排列图片并输出的方法
2015/03/17 Python
python读写二进制文件的方法
2015/05/09 Python
在Python操作时间和日期之asctime()方法的使用
2015/05/22 Python
Python numpy 点数组去重的实例
2018/04/18 Python
python爬取网页转换为PDF文件
2018/06/07 Python
pycharm快捷键汇总
2020/02/14 Python
简单了解Python write writelines区别
2020/02/27 Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
2020/03/04 Python
python中count函数知识点浅析
2020/12/17 Python
CSS3教程:新增加的结构伪类
2009/04/02 HTML / CSS
详解Html5中video标签那些属性和方法
2019/07/01 HTML / CSS
html5图片上传预览示例分享
2014/04/14 HTML / CSS
html5定位获取当前位置并在百度地图上显示
2014/08/22 HTML / CSS
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
2013/02/17 面试题
升职自荐信范文
2013/10/05 职场文书
经销商会议欢迎词
2014/01/11 职场文书
2014年基层党组织公开承诺书
2014/03/29 职场文书
经理岗位职责
2015/02/02 职场文书
小学见习报告
2015/06/23 职场文书
vscode中使用npm安装babel的方法
2021/08/02 Javascript
能用CSS实现的就不要麻烦JavaScript了
2021/10/05 HTML / CSS
Python FuzzyWuzzy实现模糊匹配
2022/04/28 Python