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 相关文章推荐
jQuery之尺寸调整组件的深入解析
Jun 19 Javascript
使用jQuery时Form表单元素ID和name命名大忌
Mar 06 Javascript
玩转方法:call和apply
May 08 Javascript
js子页面获取父页面数据示例
May 15 Javascript
javascript实现锁定网页、密码解锁效果(类似系统屏幕保护效果)
Aug 15 Javascript
js中取得变量绝对值的方法
Jan 03 Javascript
jQuery中last()方法用法实例
Jan 06 Javascript
JS实现图片放大镜效果的方法
Feb 27 Javascript
微信小程序progress组件使用详解
Jan 31 Javascript
浅谈node.js 命令行工具(cli)
May 10 Javascript
Vue 解决在element中使用$notify在提示信息中换行问题
Nov 11 Javascript
vue项目实现分页效果
Mar 24 Vue.js
深入理解$.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
PHP常用函数小技巧
2008/09/11 PHP
php 高效率写法 推荐
2010/02/21 PHP
php+xml编程之SimpleXML的应用实例
2015/01/24 PHP
PHP读取大文件末尾N行的高效方法推荐
2016/06/03 PHP
php 截取utf-8格式的字符串实例代码
2016/10/30 PHP
PHP MYSQL简易交互式站点开发
2016/12/27 PHP
浅谈PHP封装CURL
2019/03/06 PHP
cnblogs中在闪存中屏蔽某人的实现代码
2010/11/14 Javascript
jQuery焦点图切换特效插件封装实例
2013/08/18 Javascript
js支持键盘控制的左右切换立体式图片轮播效果代码分享
2015/08/26 Javascript
微信小程序 实现拖拽事件监听实例详解
2016/11/16 Javascript
JS获取本周周一,周末及获取任意时间的周一周末功能示例
2017/02/09 Javascript
JS实现数组简单去重及数组根据对象中的元素去重操作示例
2018/01/05 Javascript
AnglarJs中的上拉加载实现代码
2018/02/08 Javascript
angularjs中$http异步上传Excel文件方法
2018/02/23 Javascript
使用Vue动态生成form表单的实例代码
2018/04/26 Javascript
express+vue+mongodb+session 实现注册登录功能
2018/12/06 Javascript
JavaScript错误处理操作实例详解
2019/01/04 Javascript
jQuery实现移动端扭蛋机抽奖
2020/11/08 jQuery
深入解析Python中的list列表及其切片和迭代操作
2016/03/13 Python
python代码 if not x: 和 if x is not None: 和 if not x is None:使用介绍
2016/09/21 Python
python实现多线程抓取知乎用户
2016/12/12 Python
Python Pandas批量读取csv文件到dataframe的方法
2018/10/08 Python
从0开始的Python学习016异常
2019/04/08 Python
python实现的自动发送消息功能详解
2019/08/15 Python
解决Keras TensorFlow 混编中 trainable=False设置无效问题
2020/06/28 Python
澳大利亚手表品牌:Time IV Change
2018/10/06 全球购物
房地产开盘策划方案
2014/02/10 职场文书
商场消防演习方案
2014/02/12 职场文书
大学生入党积极分子自我评价
2014/09/20 职场文书
离婚协议书范文2014
2014/10/16 职场文书
毕业典礼邀请函
2015/01/31 职场文书
股东出资协议书
2016/03/21 职场文书
python使用pygame创建精灵Sprite
2021/04/06 Python
Python中seaborn库之countplot的数据可视化使用
2021/06/11 Python
深入理解java.lang.String类的不可变性
2021/06/27 Java/Android