javascript基础函数_深入剖析变量和作用域_基础知识

javascript基础函数_深入剖析变量和作用域_基础知识

ID:30775875

大小:83.00 KB

页数:8页

时间:2019-01-03

javascript基础函数_深入剖析变量和作用域_基础知识_第1页
javascript基础函数_深入剖析变量和作用域_基础知识_第2页
javascript基础函数_深入剖析变量和作用域_基础知识_第3页
javascript基础函数_深入剖析变量和作用域_基础知识_第4页
javascript基础函数_深入剖析变量和作用域_基础知识_第5页
资源描述:

《javascript基础函数_深入剖析变量和作用域_基础知识》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、JavaScript基础函数—深入剖析变量和作用域函数定义和调用定义函数,在JavaScript中,定义函数的方式如2functionabs(x){if(x>二0){returnx;}else{return-x;}}上述abs()函数的定义如下:function指出这是一个函数定义;abs是函数的名称;(x)扌舌号内列出函数的参数,多个参数以,分隔;{•••}之间的代码是函数体,可以包含若干语句,甚至可以没有任何语句。注意:函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。因此内部通过条件判断和循环可以在实现非常复杂的。如果没有return语句,函数执行完毕后

2、也会返回结果,只是结果为undefined0由于JavaScript的函数也是一个对彖,上述定义的abs()函数实际上是一个函数对象,而函数名abs可以视为指向该函数的变量。varabs=function(x){if(x>=0){returnx;}else{return-x;在这种方式下,function(x){・・・}是一个匿名函数,它没冇函数名。但是,这个匿名函数赋值给了变量abs,所以,通过变量abs就可以调用该函数。两种定义完全等价,注意第二种方式按照完整语法需耍在函数体末尾加一个;,表示赋值语句结束。调用函数时,按顺序传入参数即口abs(10);//返回10abs(-9);//返回

3、9由于JavaScript允许传入任意个参数而不受影响调用,因此传入的参数比定义的参数多也没有问题,虽然函数内部并不需要这些参数。abs(10,'blablabla');//返回10abs(-9,?haha,,?hehe,,null)//返回9传入的参数比定义的少也没冇问题abs();返回NaN此吋abs(x)函数的参数x将收到undefined,计算结果为NaNfunctionabs(x){if(typeofx!二二'number,){throw'Notanumber,:}if(x>=0){rcturnx;}else{return-x;argumentsJavaScript还有一个免费赠送

4、的关键字arguments,它只在函数内部起作用,并且永远指向当前函数的调用者传入的所有参数。functionfoo(x){alert(x);//10for(vari=0;i=0?x:-x;}abs();/

5、/0abs(10);//10abs(-9)//9实际上arguments最常用于判断传入参数的个数。你可能会看到这样的写法://foo(a[,b],c)〃接受2~3个参数,b是可选参数,如果只要出入两个参数,b默认为nullfunctionfoo(a,b,c){if(arguments,length===2){//实际拿到的参数是a和bc为undefinedc二b;b=null;//b变为默认值要把屮间的参数b变为“可选”参数,就只能通过arguments判断,然后重新调整参数并赋值。rest参数曲于JavaScript函数允许接收任意个参数,遇事我们就不得不用arguments来获取所有的

6、参数:functionfoo(a,b){vari,rest二[];if(arguments.length>2){for(i=2;i

7、a,b,...rest){console.log(,a=+a);consolc.log('b=+b);console.log(rest);}foo(l,2,3,4,5);〃结果//a=1//b=2//Array[3,4,5]foo(l)//结果//a=1//b=undefined//Array[]rest参数只能写在最后,前面用...标示,从运行结果可知,传入的参数先绑定a,b,多余的参数以数组形式交给变量r

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。