一、前言
二、JavaScript的变量
三、函数初步
函数参数中的几个场景
情景1:传入参数不足
情景2:传入参数过多
情景3:无参数传入
情景4:多个函数同名
JavaScript和java的语法大相径庭,所以在学习体会到全新的知识
var 变量名;
如:var i;
javascript是一门弱类型的语言,没有编译阶段一个变量可以随意赋值。
var i;
i=true;
i=1.23;
i=new Object();
i="abc";
这里的var可以表示任何类型。
var i;
//i没有赋初始值默认是undefined
一个变量没有赋初始值,默认是undefined ,undefined在js是一个具体存在的值。
测试代码:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
var i;
alert("i的默认值是"+i);
</script>
</body>
</html>
一个变量如果没声明直接用则会报错
<script type="text/javascript">
alert(i);//i没声明。则会报i is not define的语法错误
</script>
下列的结果是:
<script type="text/javascript">
var i,b,c=10;
alert("i="+i+",b="+b+",c="+c);
</script>
结果:
js中的变量命名规范和规则差不多,但是变量的赋值就相差很远,Java是一门强类型的语言,而JavaScript是一门弱类型的语言。
怎么理解强类型和弱类型的语言呢?
java语言存在编译阶段,假设有代码:int i;
那么在Java中有一个特点是;java程序编译阶段就已经确定了 i变量的数据类型,该i变量的数据类型在编译阶段是int类型,那么这个变量到最终内存释放,一直都是int类型,不可能变成其他类型。强制类型转化变得也只是语法面上,对象的类型还是不变。
Java中要求申明的时候是什么类型就一直的是什么类型,不可变,这就是强类型。
JavaScript是一个弱类型是因为在声明的时候不需要指定数据类型,变量的类型是有值来定的。
函数必须调用才会生效
js的函数类型没有限制和参数个数没有限制,函数名是唯一标识。
函数的定义格式:
方式①:
<script type="text/javascript">
function 函数名(形式参数列表){
函数体;
}
</script>
示例:
<script type="text/javascript">
function sum(a,b,c){
alert(a+b+c);
}
</script>
//函数必须调用才能执行:
sum(10,20,30);
方式②:
<script type="text/javascript">
函数名= function(形式参数列表){
函数体;
}
</script>
将函数封装在点击事件:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
didi=function(a){
alert("hello"+a);
}
</script>
<input type="button" value="按钮呀" onclick="didi(' everyone');">
</body>
</html>
js中的函数不能重载
<script type="text/javascript">
didi=function(a,b){
alert (a+b);
}
didi("hello");
</script>
//只传了一个
结果会是第一个参数赋值,另一个没赋值的默认是undefined,所以结果是helloundefined (字符串拼接)
<script type="text/javascript">
didi=function(a,b){
alert (a+b);
}
didi(1,2,3,4);
</script>
//传入过多个,只会计算函数参数多少个,所以只取2个,结果是1+2=3
<script type="text/javascript">
didi=function(a,b){
alert (a+b);
}
didi();
</script>
//没传参
结果是NaN,NaN表示具体存在的值,这个表示不是数字(Not a Number)
<script type="text/javascript">
didi=function(a){
alert (hello);
}
didi=function(a,b){
alert ("hi");
}
didi("xiu")
</script>
//结果是 hi,因为函数同名后面的会覆盖前面的
** 函数名不能重名,否则后面的函数会覆盖前面的,因为是自上而下执行程序**
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/weixin_60719453/article/details/122405498
内容来源于网络,如有侵权,请联系作者删除!