JavaScript核心语法——函数

2018-08-13 admin

函数的概念

函数式什么?函数是一段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://segmentfault.com/a/1190000015979501

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处。

转载请注明:文章转载自 JavaScript中文网 [https://www.javascriptcn.com]

本文地址:https://www.javascriptcn.com/read-37828.html

文章标题:JavaScript核心语法——函数

相关文章
javascript是什么意思
avaScript是Netscape开发的一个对象脚本语言,它使用在世界各地数以百万计的网页和服务器应用程序上。 网景的JavaScript是ecma - 262版的标准脚本语言,和公布的标准只有轻微的差异。 与广为流行的错误理解相反,Ja...
2015-11-12
21天学通javascript
简介: 本书是Javascript入门教程。Javascript是Web开发中应用最早、发展最成熟、用户最多的脚本语言。其语法简洁,代码可读性在众多脚本语言中最好,它在使用时不用考虑数据类型,是真正意义上的动态语言。本书总分为四篇,共21章...
2015-11-16
JavaScript的组成
一个完整的JavaScript由3个部分组成:核心(ECMAScript) 文档对象模型(DOM) 浏览器对象模型(BOM) ECMAScript 描述了该语言的语法和基本对象 ; DOM 描述了处理网页内容的方法和接口 ; BOM 描...
2015-11-12
JavaScript 事件流、事件处理程序及事件对象总结
JS与HTML之间的交互通过事件实现。事件就是文档或浏览器窗口中发生的一些特定的交互瞬间。可以使用监听器(或处理程序)来预定事件,以便事件发生时执行相应的代码。这种在传统软件工程中被称为观察员模式,支持页面的行为与页面的外观之间的松散耦合。...
2017-04-05
JavaScript变量的声明
声明变量 变量在脚本中的首次亮相是在其声明中。 在变量首次出现时将会在内存中设置它,因此您稍后可在脚本中引用它。 应在使用变量之前先声明变量。 可以使用 var 关键字实现此目的。 <span id=“mt9” class=“sent...
2015-11-12
7个提高效率的JavaScript调试工具
鐜板湪鐨凧avaScript浜嬪疄涓婂凡鐒舵垚涓轰簡娴佽�岀殑web璇�瑷€锛屽嵆浣垮畠骞朵笉瀹岀編銆傚緢澶氱▼搴忓憳涓嶅枩娆㈢敤JavaScript鍐欎唬鐮侊紝鏄�鍥犱负鍐欏埌鍚庢潵鎬讳細鍑虹幇鍚勭�嶈帿鍚嶅叾濡欑殑bug锛岃€屼笖鍦ㄥ紑...
2015-11-11
7个让JavaScript变得更好的注意事项
随着浏览器性能提高,伴随着新的HTML5的编程接口的稳步采用,网页上的JavaScript的音量在逐渐增加。然而,一个写得不好的程序编码却拥有着打破整个网站,让用户为之沮丧和驱赶潜在客户的潜力。 开发人员必须使用所有供他们任意使用的工具和技...
2015-11-12
JavaScript游戏之连连看源码分享
JavaScript游戏之连连看源码 下载地址:JavaScript游戏之连连看源码 解压密码:www.javascriptcn.com ...
2015-11-12
JavaScript短路原理精简代码
js中||和&&的特性帮我们精简了代码的同时,也带来了代码可读性的降低,虽然高效,但请灵活使用。 在js逻辑运算中,0、""、null、false、undefined、NaN都会判为false,其他都为t...
2015-11-12
《JavaScript快速查询手册》PDF
下载地址:《JavaScript快速查询手册》PDF下载 http://pan.baidu.com/s/130rP8’ 简介: JavaScript快速查询手册 目录 前言 第一部分 命令查询 第二部分 JavaScript语句与运算符 第...
2015-11-16
回到顶部