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)

原文地址:https://www.cnblogs.com/QiliPING9/p/9027884.html

时间: 2024-11-07 19:41:13

JS基础-运算符-函数的相关文章

js基础——运算符

爱创课堂前端培训--js基础 运算符 一.运算符 运算符(Operators,也翻译为操作符),是发起运算的最简单形式. 分类:(运算符的分类仁者见智,本课程进行一下分类.) 数学运算符(Arithmetic operators) 比较运算符(Comparison operators) 逻辑运算符(Logical operators) 赋值运算符(Assignment operators) 按位运算符(Bitwise operators) 条件 (三元) 运算符(Conditional oper

JS基础及函数

一.JS基础 1.算法及流程图         解决问题的步骤或程序. 特性:          明确性: 算法对每一个步骤都有确切的,非二性的规定.         有效性: 算法的每一个步骤都能够通过基本运算有效地执行,并得到确定的结果.         有限性: 算法由有限的步骤组成. 分类:算术算法.事务性算法     2.流程图         即算法的一种图形解方法.         特点:顺序结构.选择结构.循环结构     3.JS基础内容     引入JavaScript方式:

JS 基础之 函数

1.Js中函数的定义:  function fn1(){...}  或者 var fn1 = function(){...}   或者  var fn1 = new Function("num1","num2","alert(num1+num2)"); JS 中函数 是一个 特殊的对象,是Function对象的实例,当函数定义完毕后,会在内存中 如果 函数 中 有 return 语句,执行完 return语句后 会立即退出, return后面的语

js基础之函数递传参数

什么是参数?参数就是JS的数据类型:如:数字.字符串.布尔. 函数.对象.未定义... 先举一个简单的例子: function fn1(a,b){ alert(a+b); }fn1(100,'px');//第一个参数是函数中的a,第二个是b; 这里的a和b,可以是任何数据类型,参数可以根据自己的需求放N多个. 函数作为参数时:1.参数为匿名函数时,直接调用:例: function fn3(fn){ fn() };fn3(function (){alert(a)}); //结果是a 2.参数为有名

js基础之函数递传参数与作用域(5下)

上一章节面试题分析: 第一步:浏览器预解析这段JS代码,找var function和参数: 第二步:逐行解读代码: 下面是具体步骤分析:

js基础(函数)

函数一种对象,函数中可以封装功能,使用typeof检查一个函数对象的时候,会返回function 创建一个函数对象 var function = new Function(); 可以将要封装的代码以字符串的形式传递给构造函数 var function = new Function("console.log('xxxxxxxx');");; 调用函数的语法:函数对象(),function() 使用函数声明来创建一个函数 语法: function 函数名称(形参列表){ 函数体: } 使用

逆战班!js基础关于函数递归

函数递归的特点: 1,函数自己调用自己 2,一般会有return 3,一般会有参数 注意: ****递归能做循环能做的一切,还能解决循环不容易解决的事 ****有时候会搞不懂递归是如何正确的实现功能的(因为有套路) 在一般的公司里面,明文禁止使用递归,但是懂得递归又是一个程序员必备的知识!!!! 至于为什么公司不允许使用递归,原因如下: 案例:计算1~100的和 使用普通循环语句: <script> function add(a) { var sum=0 for(var i = 1;i <

JS 基础知识4 运算符

JS的运算符一般含有: 1 算术运算符 2 相等运算符 3 关系运算符 4 字符串运算符 5逻辑运算符 6位运算符 7 赋值运算符 首先看算术运算符,它一般有(+,-,*,/,%,++,--) 这里,%模运算符,其实也就是取余的意思,比如,5%2=1: 这里要特别说一下++,与--(这里只列了++,--是一样的道理). 1 var i = 1; 2 var j = ++i; //实际相当于 i+=1;j=i; 3 alert(i + " " + j); 4 5 var m = 1; 6

JS基础--函数与BOM、DOM操作、JS中的事件以及内置对象

   前   言 絮叨絮叨 这里是JS基础知识集中讲解的第三篇,也是最后一篇,三篇JS的基础,大多是知识的罗列,并没有涉及更难得东西,干货满满!看完这一篇后,相信许多正在像我一样正处于初级阶段的同学,经过初步的学习,会对这一门语言有了一定深入的了解,也会感受到这一门语言的强大之处.希望各位同学通过一定的学习,会得到等大的收获. 因为是最后一篇所以内容可能有点多,希望各位同学能够慢慢看,细细看,让我们一起学习,一起进步,一起感受JS的魅力. 一函数 函数的声明及调用 1.函数的声明格式: func