函数

一、函数/方法:

     封装一个专门任务的步骤的代码段,起一个任务名

     何时使用函数:有一个专门的任务,可能重复使用!

     如何创建函数:

     语法:function 函数名([参数列表]){

             ——函数体

                [return 返回值]

           }

     如何调用函数:

          语法:var 返回值=函数名([参数值列表]);

     函数的参数:专门接收传入函数内的数据的*变量*

     何时定义参数:参数用于规定函数正常执行时,必须的数据

                   参数可以让方法变得灵活!

     何时/如何使用参数:

             调用时:方法名(参数1的值,参数2的值...)

                    强调:参数值的顺序和个数,应该和方法定义时匹配

     返回值:方法调用后,返回的执行结果!——1个数据

       强调:方法仅负责返回数据,不负责保存数据!

     调用有返回值的方法时,都要用变量接住返回值!

   如何定义:return 要返回的数据;

          1. return -->退出/结束方法的执行

          2. 将返回值返回到内存中

二、变量作用域:一个变量的可用范围。

    js中2种作用域:1. 局部作用域/函数作用域

                   2. 全局作用域

    按作用域划分变量:2种:

     局部变量:在函数内部创建的变量,

         比如:2种:*函数参数*;在函数内用var声明的

       *局部变量随函数调用而创建,随调用完而释放。

        全局变量:在全局范围创建的变量,

            比如:不属于任何函数的变量

       *程序的任何位置都可以访问全局变量*

    为什么要有作用域:避免冲突和歧义。

        全局变量 vs 局部变量:

           全局变量:优:共享使用!

                     缺:不安全,容易被“污染”

           局部变量:优:安全,私有!

缺:不可重用!

三、声明提前:在程序开始执行前,都会先预读所有的var和function,将所有的var和function都提前到*当前作用域*的顶部定义。

     *强调:仅声明提前!赋值留在原地!*

   ***按值传递:变量作为参数传递给方法时,

              都会将变量内的值,复制一个副本给参数变

      结果:对于*原始类型*来说:

         方法内修改参数变量的值,不影响方法外的原变量

            对于*引用类型*不适用!

四、全局函数:不需要任何对象,就可以直接调用的函数

     比如:parseInt/Float(str)

           isNaN(n)

     isFinite(n):判断n是否在有效范围内

                infinity和NaN都会返回false,其余返回true

     eval("js语句"):执行一条字符串格式的js语句

    

     ?word=%E5%BC%A0 多字节字符的utf-8编码!

              张

        unicode:汉字:2字节   字母/数字:2字节

        utf-8:汉字:3字节  字母/数字:1字节

     URL:1.限制:url中不允许包含多字节字符!

          2. 限制:url?后的参数中,不允许包含url保留字

比如: http://tmooc.cn/?word=http://tmooc.cn

      解决:先编码,再发送。

            收到数据时,先解码,再处理

      编码:将url中多字节字符 ,准为utf-8编码对应的单字节

      解码:将单字节utf-8编码,恢复成多字节字符

五、分支结构:

   程序三大结构:

     顺序:程序默认都是从上向下顺序执行。

        分支:根据不同条件,选择不同的执行路线

        循环:程序反复执行同一个代码段

   分支结构:3种:

    1. if结构:1件事,满足条件就执行,不满足条件就不执行

       语法:if(条件){

                 满足条件时,才做的事

             }

    2. if...else...结构:2件事,二选一执行!

       语法:if(条件){

                 满足条件时,才做的事

             }else{

                 不满足条件时,才执行的事

             }

    3. if...else if...结构:多个条件,多个分支时

       语法:if(条件1){

         满足条件1执行的代码

             }else if(条件2){

               满足条件2执行的代码

             }else if(条件3){

               满足条件3执行的代码

             }... ...

          }else{

                不满足之前所有条件时,执行的代码——默认值

             }

  

原文地址:https://www.cnblogs.com/baiyanfeng/p/5042811.html