javascript函数的声明和调用
将完成某一特定功能的代码集合起来,可以重复使用的代码块。
一、函数的声明方式(创建)
A.基本语法
function 关键字 function 函数名([参数1],[参数2]....){ 函数体 [retrun] //返回值 } B.字面量定义的形式(匿名函数)var 变量=function ([参数1],[参数2]....){
函数体 [retrun] //返回值 }C.以对象的形式来声明
new 关键字。
var 变量=new Function([参数1],[参数2]...,"函数体");
//函数的第一种声明方式 /* function math () { var num1=parseFloat(prompt("请输入","")); var num2=parseFloat(prompt("请输入","")); var operator=prompt("请输入运算符",""); var result; switch (operator) { case "+": result=num1+num2; break; case "-": result=num1-num2; break; case "*": result=num1*num2; break; case "/": result=num1/num2; break; default: result="输入有误"; } return result; } alert(math()); alert(math()) *///函数的第二种声明方式 /* var fun=function () { var num1=parseFloat(prompt("请输入","")); var num2=parseFloat(prompt("请输入","")); var operator=prompt("请输入运算符",""); var result; switch (operator) { case "+": result=num1+num2; break; case "-": result=num1-num2; break; case "*": result=num1*num2; break; case "/": result=num1/num2; break; default: result="输入有误"; } return result; } alert(fun()); */ //函数的第三种声明方式// var fun=new Function(alert("后盾网"))// fun();
二、函数的调用方式:
A.函数名() 、变量名();B.(function () {alert("后盾网");})();
三、两种声明方式的区别1.如果两个函数的命名相同,后面的将会覆盖前面的函数。
2.以基本语法声明的函数,会在代码运行的时候,提前加载到内存当中(就是以function开头的格式),以供以后使用, 但是以字面量形式命名的函数,会在执行到的时候,才进行赋值。3.在不同的<script></script>块中的函数,使用和调用的时候,应该先定义,后执行。
javascript函数的参数和return语句
一、参数(最多是25)
可以动态的改变函数体内对应的变量的类型或值,使同一函数体得到不同的结果。形参:在定义函数的时候,函数括号中定义的变量叫做形参。
实参:调用函数的时候,在括号中传入的变量或值叫做实参。1.参数的类型
可以是任何的数据类型2.参数的个数(最多是25) A.实参和形参数量相等,一一对应。B.形参的数量多于实参
************************************************ 不会报错,但是多出的参数他的值,会自动赋值为undefined ************************************************ C.实参的数量多于形参 ************************************************ 不会报错,但是要得到多出的实参的值,要用arguments对象************************************************
二、Arguments对象每创建一个函数,该函数就会隐式创建一个arguments对象,他包含有实际传入参数的信息。
1.length 检测实际传入参数的个数
2.callee 对本身的调用3.访问传入参数的具体的值。([下标])(如arguments[0])三、函数重载
同一个函数因为参数的类型或数量不同,可以对应多个函数的实现,每种实现对应一个函数体。 四、return 语句一、停止并且跳出当前的函数
1.在ruturn 语句后面的函数体内所有内容都不会输出。 2.在函数体内可以有多个return语句,但是只会执行一个。(判断语句)二、给函数返回一个值 return [返回值];
1.返回值可以是任何的数据类型 2.只能返回一个返回值。 3.如果函数没有返回值,那么这个函数的值就会自动的赋值为undefined
javascript 内置顶层函数
名词解释:
1.函数
2.内置: ECMAscript
内置函数:ECMAscript 自带的函数 Number() 宿主函数: BOM DOM alert() prompt() confirm();//confirm() 弹出一个带有确定和取消按钮的一个对话框,确定返回真,取消返回假。3.顶层
字符串函数:字符串.函数() 数组函数 顶层对象的函数,可以作用于任何对象。内置顶层函数
1.escape() 对字符串进行编码
2.unescape() 对编码的字符串进行解码
3.Number() 转换成数值类型
4.String() 转换成字符串类型
5.Boolean() 转换成布尔类型
6.parseInt() 将字符串转换为整型
7.parseFloat() 转换为小数
8.isNaN() 判断一个数能否转换为数值类型。
9.isFinite() 判断一个数是否为有穷的数字。将不是有穷的数字或不能转换为数值类型的数返回假。
10.eval() 将字符串转换成javascript命令执行(必须符合javascript语法规范,否则会出错)。
IE: eval() 在当前作用域生效 window.eval() 在当前作用域生效 execScript()FF:
eval() 在当前作用域生效
window.eval() 在全局生效
使代码在作用于上兼容IE
function evals (str) { if(typeof str!="string"){ return; } if(window.execScript){ window.execScript(str); }else{ window.eval(str); }}