资讯专栏INFORMATION COLUMN

JavaScript核心语法——函数

NervosNetwork / 2206人阅读

摘要:定义函数与调用函数定义函数时,函数体的内容时不会被执行。调用函数才会真正执行这些。简单来说,就是调用函数时使用的参数就是实参。

函数 函数的概念

函数式什么?函数是一段JavaScript中的一段代码,它只能定义一次,但是可能被执行或调用多次。简单来说,函数就是一组可重用的代码,可以在程序的任何地方调用他。

定义函数与调用函数

定义函数时,函数体的内容时不会被执行。
定义一个函数并不会自动的执行它,定义了函数仅仅是赋予函数以名称并明确函数被调用是该做些什么。调用函数才会真正执行这些。

   1.函数声明方式
      function 函数名称 () {
          函数体 - 语句块
      }
       定义函数时 -> 函数体的内容是不会被执行的
 
function fun(){
    console.log("这是一个函数");
}


    2.字面量/直接量方式
      var 函数名称 = function(){
          函数体
      }
 
var fun = function(){
    console.log("这是一个函数");
}

 调用函数 -> 函数体的内容才被执行
fun();
函数的参数

函数的参数就相当于在函数中使用的变量。JavaScript中的函数定义并未制定函数参数的类型,函数调用是也未对传人的参数做任何的类型检查。
参数有一下两种:
1.形参:出现在函数定义文法中的参数列表是函数的形式参数,简称形参。简单来说就是定义函数时使用的参数就是形参。
2.实参:函数调用是实际传人的参数就是函数的实际参数,简称实参。简单来说,就是调用函数时使用的参数就是实参。
一般参数要注意形参与实参的个数是相同的。但是在JavaScript中并不强求这一点,在特殊情况下,函数的形参和实参的个数可以不相同。

  1.定义函数
      function 函数名称(参数){
         函数体
      }
       定义函数时 -> 形参
         形参的定义的方式,类似于变量的(不需要任何关键字)
         形参默认未定义任何值时 -> undefined
 
function fun(a){// 在函数中定义一个变量,但未初始化值
    console.log(a);
}

    2.调用函数
      函数名称(参数)
       函数的调用 -> 实参(值)
 
fun(100);// 为函数中定义的变量初始化值
   1.定义函数 - 形参
       允许定义多个形参 - 形参之间使用逗号分隔
 
function fun(a){// 在函数中定义一个变量,但未初始化值
    console.log(a);
}

    2.调用函数 - 实参
       允许定义多个形参 - 形参之间使用逗号分隔
 
fun(100, 200);// 为函数中定义的变量初始化值

    形参与实参
     形参的个数与实参不一定是一致的
       形参的个数多于实参的个数 -> 多余的形参没有值(默认为 undefined)
       实参的个数多余形参的个数 -> 多余的实参没有对应的形参
     形参与实参根据占位符进行一一对应
 
return语句

函数还可以包含衣蛾返回语句(return)。当然这个并不是必需的,可有可无。return语句是函数可以作为一个值来使用。但是return语句的确允许编写在函数体的最后面,一旦return语句不在函数体的最后面,return语句之后的代码都不会再执行。

// var result = fun();
// console.log(result);

console.log(fun());/* 打印函数调用的结果 */
console.log(fun);/* 打印变量的值 */


    函数的return语句
     的确允许不编写在函数体的最后面
     一旦return语句不在函数体的最后面 - return语句之后的代码都不再执行
 
function fn(){
    console.log("这是return语句之前...");
    return;
    console.log("这是return语句之后...");
}
var result = fn();
console.log(result);// 100



    JavaScript得到undefined值的情况:
    1.定义变量,但未初始化值
    2.定义变量,并初始化值为 undefined
    3.访问数组中不存在的位置 - 默认值为 undefined
    4.在函数体调用没有定义值的形参 - 默认值为 undefined
    5.当函数定义时,没有指定返回值 - 默认返回值为 undefined
 

预定义函数
JavaScript预定义了一组函数,又呗成为全局函数,允许直接使用。

eval()函数

eval()函数用于执行以字符串(String)形式出现的JavaScript代码。此函数可以实现动态的执行JavaScript代码。

// 定义一个字符串 - 文本内容是JavaScript代码
var str = "console.log("这是一段代码...")";
// console.log(str);

    eval()函数
     作用 - 将一个字符串类型的JavaScript代码转换为真正的JavaScript代码,并且执行
     问题 - 安全问题
 
eval(str);
字符编码与解码
     URI - 统一资源标识符
     URL - 统一资源定位符
     统一资源标识符的范围大于统一资源定位符
 
var uri = "http://www.wolongxueyuan.com/Web前端开发工程师";
var encode = encodeURI( uri );
// 输出 http://www.wolongxueyuan.com/Web%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91%E5%B7%A5%E7%A8%8B%E5%B8%88
console.log( encode );
var decode = decodeURI( encode );
// 输出 http://www.wolongxueyuan.com/Web前端开发工程师
console.log( decode );



var uri = "http://www.wolongxueyuan.com/font-end-developer";
var encode = encodeURIComponent( uri );
// 输出 http%3A%2F%2Fwww.wolongxueyuan.com%2Ffont-end-developer
console.log( encode );
var decode = decodeURIComponent( encode );
// 输出 http://www.wolongxueyuan.com/font-end-developer
console.log( decode );

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/96864.html

相关文章

  • JavaScript核心语法-基础语法

    摘要:基础语法区分大小写是一种区分大小写的语法,意味着的关键字变量名函数名以及其他一切的字符表示都要使用一致的大小写形式。化物语化物语空格和换行会忽略代码中出现的空格换行制表符。如果不用花括号独立独立编写一个语句,语法并不报错,但不推荐。 JavaScript基础语法 区分大小写 JavaScript是一种区分大小写的语法,意味着JavaScript的关键字、变量名、函数名以及其他一切的字符...

    soasme 评论0 收藏0
  • 函数 - Javascript语法基础 - Javascript核心

    摘要:在定义函数的作用域外调用,得到的返回仍然是函数创建时所在的作用域的局部变量。这是因为所在的匿名函数的闭包中存放的是第一行的,而不是在循环中获得的的当前值。 原文: http://pij.robinqu.me/JavaScript_Core/JavaScript_Basics/Function.html 源代码: https://github.com/RobinQu/Pr...

    wuaiqiu 评论0 收藏0
  • 数组 - Javascript语法基础 - Javascript核心

    摘要:数组创建数组数组字面量使用构造函数数组本质上是所以要判断是不是数组,需要通过判断。数组长度使用属性获取元素的个数。例如函数的对象就是这样 原文: http://pij.robinqu.me/JavaScript_Core/JavaScript_Basics/Array.html 源代码: https://github.com/RobinQu/Programing-In-...

    molyzzx 评论0 收藏0
  • JavaScript核心语法 [ 函数和作用域 ]

    摘要:函数描述表示定义一段代码,并且可重复使用函数的定义函数声明方式字面量表达方式函数声明方式语法函数名称小括号不可省去函数体函数声明方式在定义函数时,函数体中的内容不会被执行哑吼吼调用函数使用函数名称调用函数的时候会执行函数体中的内容字面量方 函数 描述 表示定义一段JavaScript代码,并且可重复使用 函数的定义 函数声明方式 字面量表达方式 函数声明方式 语法 function...

    joy968 评论0 收藏0
  • JavaScript核心语法函数

    摘要:函数一函数是什么只能可定义一次,但是可定义有一次或多次调用这是个函数二函数定义函数定义的函数以两种方式表示函数声明和字面量表达式函数声明方式函数名称定义函数函数体内容不会被执行这是个函数字面量直接量函数名称函数体这是个函数调用函数先定义这个 JS(JavaScript)函数;一.函数是什么;只能可定义一次,但是可定义有一次或多次调用; var fun = function () { ...

    wqj97 评论0 收藏0
  • JavaScript核心语法之作用域

    摘要:作用域一作用域是什么就是变量和函数所被访问范围,控制变量和函数的可见性和生命周期作用域分为全局作用域和局部作用域全局作用域是指在所有函数之外声明的变量,因为当前文档中的其他代码可以访问它局部作用域是指在函数内部声明的变量,因为该函数只能在它 JS(JavaScript)作用域;一.作用域是什么;就是变量和函数所被访问范围,控制变量和函数的可见性和生命周期作用域分为全局作用域和局部作用域...

    huashiou 评论0 收藏0

发表评论

0条评论

NervosNetwork

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<