JavaScript基础系列--函数

函数
创建函数的语法
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.οnclick=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.οnclick=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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值