JS学习之函数


JS学习之函数

本文主要是对近期学习的JS的基础知识–函数的一个大概汇总。


1、函数分为系统函数(内置函数)和自定义函数

系统函数顾名思义是系统已经编写好的函数,我们只需要调用即可使用,如:alert()语句,prompt()语句,(小小的注意点:弹框类型的语句会阻断代码的运行).还有docment.write()语句。自定义函数则是用户进行声明编写在进行调用的函数。在JavaScript 函数语法 JavaScript 函数通过 function 关键词进行定义,其后是函数名和括号 ()。 函数名可包含字母、数字、下划线和美元符号(规则与变量名相同)。语法:function 函数名() { 代码块 } eg:function say() { console.log(“实验函数”); }

2、函数参数

显示参数(parameters)和隐式参数(arguments)
显示参数即用户在定义函数的时候列出来的名称,可以理解为形参。用户在调用函数的时候传入实参,实参再传递给形参。对于缺省的参数,默认定义为undefined。
代码如下(示例):

 function add(x,y){
     console.log(x+y);   }
add(2,3);
 function add(x,y){
     console.log(x+y);   }
add(20);

y缺省,类型为undefined,由于x是数值型,y自动转换为数值型,undefined转换为数值型为NAN,NAN+一个数字结果为NAN。

隐式参数(arguments) : arguments对象和function分不开,只有在函数开始的时候才能使用,不能显示创建,JS同样不会对这种参数进行数据类型和数量上的检查,arguments对象访问单个参数的方式和数组很类似,但是arguments并非数组。

function test() {
     var s=” “;
for(var i=0;i<arguments.length;i++){
 	alert(arguments[i]);
s+=arguments[i]+,;
}
return s;
}
test(“name”,”age”);

结果:name,age

3.return返回值

没有返回值返回undefined,return具有跳出函数的作用。

4、函数作用域

全局和局部(函数作用域),局部变量在使用完之后会被释放。局部可以访问全局

5、声明提前编译

js程序在编译的时候,会将所有var声明的变量和function声明的函数,可以看作将它们提前到相应的代码最开始的地方

代码如下(示例):

funtion test() {
console.log(S);
var S=20;
console.log(S);
}
test();

结果:undefined 20

以上代码相当于:

 funtion test() {
var S;
console.log(S);
S=20;
console.log(S);
}
test();

注意:JS只是把声明提前了,并没有把赋值也提前,对function声明,会将函数名称和函数体都提前,而且先预声明变量再预定义函数。

5、作用域链

在该局部作用域内找不到该变量的声明则会向其上一层去查找,直到在全局作用域内找不到该变量的声明就会报错。

总结

以上就是今天要讲的内容,本文仅仅简单介绍了JS中的函数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值