【JavaScript】基级变量函数

举报
执久呀 发表于 2022/01/14 14:50:51 2022/01/14
【摘要】 ​目录一、前言二、JavaScript的变量三、函数初步函数参数中的几个场景情景1:传入参数不足 情景2:传入参数过多情景3:无参数传入 情景4:多个函数同名一、前言JavaScript和java的语法大相径庭,所以在学习体会到全新的知识二、JavaScript的变量var 变量名;如:var i;javascript是一门弱类型的语言,没有编译阶段一个变量可以随意赋值。var i;i=tr...

目录

一、前言

二、JavaScript的变量

三、函数初步

函数参数中的几个场景

情景1:传入参数不足

 情景2:传入参数过多

情景3:无参数传入

 情景4:多个函数同名


一、前言

JavaScript和java的语法大相径庭,所以在学习体会到全新的知识

二、JavaScript的变量

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中的函数不能重载

函数参数中的几个场景

情景1:传入参数不足

     <script type="text/javascript">
         didi=function(a,b){
         alert (a+b);
         }
         didi("hello");
       </script>
  //只传了一个
结果会是第一个参数赋值,另一个没赋值的默认是undefined,所以结果是helloundefined (字符串拼接)

 情景2:传入参数过多

     <script type="text/javascript">
         didi=function(a,b){
         alert (a+b);
         }
         didi(1,2,3,4);
       </script>
//传入过多个,只会计算函数参数多少个,所以只取2个,结果是1+2=3

情景3:无参数传入

     <script type="text/javascript">
         didi=function(a,b){
         alert (a+b);
         }
         didi();
       </script>
      //没传参
      结果是NaN,NaN表示具体存在的值,这个表示不是数字(Not a Number)

 情景4:多个函数同名

     <script type="text/javascript">
         didi=function(a){
         alert (hello);
         }
         didi=function(a,b){
         alert ("hi");
         }
         didi("xiu")
       </script>
//结果是 hi,因为函数同名后面的会覆盖前面的

 函数名不能重名,否则后面的函数会覆盖前面的,因为是自上而下执行程序

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。