• JS基础-运算符-函数


    1.运算符
      1.赋值运算符和扩展运算符
        1.赋值运算符 =
        2.扩展运算符
          +=,-=,*=,/=,%=,^=....
          ex:
            a=a+b;--> a+=b;
     a=a+1;--> a++,a+=1,++a
          实现两个数字的换位:
            a^=b;
     b^=a;
     a^=b;
      2.条件运算符
        条件运算符又称三目运算符。
        单目(一元)运算符,只需要一个操作数或表达式。
         ex:++,--,!
        双目(二元)运算符,需要两个操作或表达式
         ex:+,-,*,/,%,>,<,>=,<=,==,===,!=,!==,&,|,^,&&,||
        三目(三元)运算符,需要三个表达式或操作数。
        语法:
           条件表达式?表达式1:表达式2;
           先判断条件表达式的值,如果条件为true,则执行表达式1,如果条件为false,则执行表达式2。
        ex:
          从弹出框中输入成绩,如果成绩大于60,则输出及格,否则输出不及格。
        练习:
          从弹出框中输入成绩:
            如果成绩等于100,则输出"奖励1000元",
     如果成绩>=90,则输出"奖励100元",
     如果成绩>=70,则输出"奖励10元素",
     否则,输出"请大家吃饭"。
    2.函数
      1.什么是函数
        函数,function,也称为方法
        函数-功能。
        函数是一段预定义好,并可以被反复执行的代码块。
          预定义:提前定义好,并非马上执行。
          反复执行:允许被多次调用。
          代码块:可以包含多条可执行的语句
        使用过的函数:
           parseInt();
           parseFloat();
           Number();
           alert();
           document.write();
      2.定义和使用函数
        1.普通函数的声明和使用
          1.声明
            function 函数名(){
        //函数体-若干可执行的代码
     }
          2.调用函数
            在任意javascript合法位置处通过
     函数名(); 对函数进行调用。
          3.要同时调用多个函数方式如下:
            function test(){
        calculate(); //调用函数1
        print();//调用函数2
     }

          练习:
            1.定义一个函数名称calaulate(计算)
     在函数体内,定义两个变量,num1, num2并赋值为数字,计算两个数字之和,并打印在控制台。
            2.在网页中添加一个按钮,单击按钮时调用函数。
        2.带参函数的声明和使用
          1.声明
            function 函数名(参数列表){
       //函数体-js语句
     }
     参数列表:可以声明1个或多个参数,多个参数间用逗号分隔。
     声明函数时,声明的参数称为“形参”。
          2.调用
            函数名(参数值列表);
     注意:尽量按照声明函数的格式进行调用
     调用时,传递的参数值称为“实参”。
           练习:
            定义带参函数,函数体内计算两个参数的乘积,并打印输出。单击按钮时调用函数。
        3.带返回值函数的声明和使用
          1.声明
            function 函数名(){
        //函数体
        return 值;
     }
     
          2.调用
            允许使用一个变量接收函数的返回值
     var result=函数名();
         练习:
            定义一个可以接收三个参数的函数,函数体内返回三个数字的和。并将结果打印在控制台。
      3.函数的作用域
        1.变量作用域
          作用域表示的是变量或函数的可访问范围。
          js中的作用域分为两种:
             1.函数作用域:只在函数范围内有效
        函数作用域又称为局部变量,只在声明的函数中有效

      2.全局作用域:js代码的任何位置都有效
        全局作用域又称全局变量,一经声明,任何位置都能使用。
        1.不在function中声明的变量,为全局变量
        2.声明变量不使用var ,无论任何位置声明,都是全局变量(不推荐)
        2.注意
          1.全局变量和局部变量冲突时,优先使用局部变量。
          2.声明提前
            js程序正式执行之前,function声明的函数,会将所有var声明的变量,都预读到所在作用域的顶部,但赋值还是保留在原位置。
     函数同样也有声明提前的功能。
          3.按值传递
            1.什么是按值传递
       原始数据类型,在做参数传递时,都是按照“值传递”的方式来传参。
       值传递:真正传递参数时,实际上传递的是值的副本(复制出来一个值),而不是原始值。
       *以后不要把原始数据类型拿到函数中去修改值。
     练习:
       1.创建变量score,赋值为90;
       2.再创建函数changeScore(num),在函数体内将num+5再输出。
       3.调用changeScore函数,并将score以实参传入函数,再输出score的值。
        3.函数作用域
          分为两种:
            1.局部函数
       在某个function中声明的函数
     2.全局函数
       在最外层<script>定义的函数就是全局函数,全局函数一经定义,任何位置都能调用。
      4.ECMAScript提供一组全局函数
        1.parseInt();
        2.parseFloat();
        3.Number();
        4.isNaN();
        5.encodeURI();
          URL:Uniform Resource Locator统一资源定位器,俗称:路径
          URI:Uniform Resource Identifier(标识符)
          作用:对统一资源标识符进行编码,并返回编码后的字符串。
          所谓的编码,就是将地址中多字节的文字编码成单字节文字。
       6.decodeURI();
          作用:对已编码的URI进行解码,并返回解码后的字符串。
       7.encodeURIComponent();
         在encodeURI的基础上,允许对特殊字符进行编码。
       8.decodeURIComponent();
         允许对特殊字符解码。
       9.eval();
         作用:执行以字符串表示的js代码
         练习:
           定义一个函数,在函数体内接收弹出框输入的一段js代码(document.write("<h1>js全局函数</h1>")),并用eval函数来执行该段js代码。
      5.递归调用
        递归:在一个函数的内部再一次调用自己。
        问题:想要求5的阶乘
              5! 5*4*3*2*1 -->5*4!
       4! 4*3*2*1   -->4*3!
       3! 3*2*1     -->3*2!
       2! 2*1       -->2*1!
       1! 1*1
        求n的阶乘,用一个函数表示?
             function f(n){
        /*if(n==1){
           return 1;
         }else{
          return n*f(n-1)
         }*/
         return n==1?1:n*f(n-1)
      }
        效率:
           在本次调用还未结束时,就开始下次的调用,本次调用就会被挂起,直到所有的调用都完成之后,才会依次返回,调用次数越多,效率越低。
        练习:
           以下数列(斐波拉契数列)
            1,1,2,3,5,8,13,21,34,55......
     通过f(n)计算数列中第n个数字的值。
     已知:
        该数列中第一个数和第二个数都是1。
        从第三个数开始,每个数字都是前两个数字的和。
        f(1)=1
        f(2)=1
        f(3)=f(2)+f(1)
        f(4)=f(3)+f(2)
        ...
        f(n)=f(n-1)+f(n-2)  

         

  • 相关阅读:
    基于51单片机的Uart串口通信协议
    基于STM32F103和Cube的输入捕获例程
    基于STM32F429和HAL库的CAN收发例程
    基于STM32F429的TFT0.96屏幕驱动
    基于STM32F429和Cube的ov2640程序
    基于STM32F429和Cube的主从定时器多通道输出固定个数的PWM波形
    基于STM32F429,Cubemx的SAI音频播放实验
    基于STM32F429的内存管理
    基于STM32F429,Cubemx的SDHC卡的基本Fatfs文件移植
    基于STM32F429的ADS1115驱动程序
  • 原文地址:https://www.cnblogs.com/QiliPING9/p/9027884.html
Copyright © 2020-2023  润新知