zoukankan      html  css  js  c++  java
  • 函数

    一、函数/方法:

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

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

         如何创建函数:

         语法: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{

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

                 }

      

  • 相关阅读:
    C语言单链表创建,插入,删除
    Java乔晓松spring构造函数的注入以及null的注入
    sentilib_语料库项目_search模块的实现
    spring入门(6)set方法注入依赖之null的注入
    Java乔晓松使用Filter过滤器清除网页缓存
    漂亮的弹框
    C#判断各种字符串(如手机号)
    视频数字水印
    数据校验
    SVN 常见问题操作总结
  • 原文地址:https://www.cnblogs.com/baiyanfeng/p/5042811.html
Copyright © 2011-2022 走看看