您的位置:首页 > Web前端 > JavaScript

JavaScript基础系列--函数

2015-09-17 19:46 543 查看
函数

创建函数的语法

function functionName([arg]){

js.

[return]

}

函数的定义位置没有任何限制,可以在代码中的任意一个位置,可以定义在调用这个函数的地方的后面。

另外函数中可以嵌套函数。

<script type="text/javascript">

function getNumbers(arr){

for(var i = 0;i<arr.length;i++){

if(isNumber(arr[i]){

alert(arr[i);

}

}

function isNumber(s){

return "number"==typeof(s);

}

}

</script>

另外,函数名也是一个特殊的变量,存储的是函数类型的数据,只是他不属于javascript的基本数据类型,也不可以和其他数据类型转换。

例如:

<script type="text/javascript">

function max(a,b){

if(a>b){

return a;

}else{

return b;

}

}

var max2 = max;

alert(max2(10,9));

</script>

另外 function的名字也可以省略,则是匿名函数。

<script type="text/javascript">

var max = function(a, b) {

if (a > b) {

return a;

} else {

return b;

}

}

alert(max(10,9));

</script>

传递参数

带有形式参数的函数不需要加var ,加上就报错

function a(a,b){}

返回值

使用return返回

案例:改变背景颜色

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>

<head>

<title>改变网页背景色</title>

</head>

<body>

<input id="btn" type="button" value="改变网页背景色"/>

</body>

</html>

<script language="JavaScript" type="text/javascript">

<!--

var btn=document.getElementById("btn");

btn.onclick=function(){

var color=prompt("请输入颜色名称或颜色代码:","");

changeBgColor(color);

}

function changeBgColor(color){

document.bgColor=color;

}

//-->

</script>

内部函数

使用eval执行javascript代码

<script type="text/javascript">

var a = 1;

alert("a");

alert(eval("a"));

eval("alert(a)");

</script>

parseInt和parseFloat将字符串转为数字

parseInt(String [,radix]);

radix 是可选的,表示进制。默认是10进制

<script type="text/javascript">

alert(parseInt("5"));

alert(parseInt("1.13"));

alert(parseInt("0x10"));

alert(parseInt("100",8));

alert(parseInt("32 and 19"));

alert(parseInt("hello 1"));

alert(parseInt("two"));

</script>

escape和unescape进行URL编码解码

<script type="text/javascript">

document.write(unescape("%u6D6A%u6DD8%u6C99
"));

document.write(escape("浪淘沙"))

</script>

isNaN和isFinite判断数字的类型判断是否是数字和是否是无穷大或无穷小

<script type="text/javascript">

var a="123bb";

var b= 23.3;

isNaN(a);

isNaN(b);

isFinite(b);

isFinite(b/0);

</script>

函数

创建函数的语法

function functionName([arg]){

js.

[return]

}

函数的定义位置没有任何限制,可以在代码中的任意一个位置,可以定义在调用这个函数的地方的后面。

另外函数中可以嵌套函数。

<script type="text/javascript">

function getNumbers(arr){

for(var i = 0;i<arr.length;i++){

if(isNumber(arr[i]){

alert(arr[i);

}

}

function isNumber(s){

return "number"==typeof(s);

}

}

</script>

另外,函数名也是一个特殊的变量,存储的是函数类型的数据,只是他不属于javascript的基本数据类型,也不可以和其他数据类型转换。

例如:

<script type="text/javascript">

function max(a,b){

if(a>b){

return a;

}else{

return b;

}

}

var max2 = max;

alert(max2(10,9));

</script>

另外 function的名字也可以省略,则是匿名函数。

<script type="text/javascript">

var max = function(a, b) {

if (a > b) {

return a;

} else {

return b;

}

}

alert(max(10,9));

</script>

传递参数

带有形式参数的函数不需要加var ,加上就报错

function a(a,b){}

返回值

使用return返回

案例:改变背景颜色

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>

<head>

<title>改变网页背景色</title>

</head>

<body>

<input id="btn" type="button" value="改变网页背景色"/>

</body>

</html>

<script language="JavaScript" type="text/javascript">

<!--

var btn=document.getElementById("btn");

btn.onclick=function(){

var color=prompt("请输入颜色名称或颜色代码:","");

changeBgColor(color);

}

function changeBgColor(color){

document.bgColor=color;

}

//-->

</script>

内部函数

使用eval执行javascript代码

<script type="text/javascript">

var a = 1;

alert("a");

alert(eval("a"));

eval("alert(a)");

</script>

parseInt和parseFloat将字符串转为数字

parseInt(String [,radix]);

radix 是可选的,表示进制。默认是10进制

<script type="text/javascript">

alert(parseInt("5"));

alert(parseInt("1.13"));

alert(parseInt("0x10"));

alert(parseInt("100",8));

alert(parseInt("32 and 19"));

alert(parseInt("hello 1"));

alert(parseInt("two"));

</script>

escape和unescape进行URL编码解码

<script type="text/javascript">

document.write(unescape("%u6D6A%u6DD8%u6C99
"));

document.write(escape("浪淘沙"))

</script>

isNaN和isFinite判断数字的类型判断是否是数字和是否是无穷大或无穷小

<script type="text/javascript">

var a="123bb";

var b= 23.3;

isNaN(a);

isNaN(b);

isFinite(b);

isFinite(b/0);

</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: