1.为什么需要函数

实现代码的复用。存在函数提升,且会在变量提升的上面;

2.函数的创建

js中函数语法:

function 函数名(形参){
//函数体
} 调用时:函数名(形参)

注:

(1) 形参参数名可以重复,同名的形参参数取最后一个值

function test(x,x){
console.log(x)
} test(3,5)//结果:5

(2) 即使函数声明了形参,调用时也可以不传递参数值

function test(x){
console.log(x)
} test()//结果:undefind

(3) 调用函数的时候可以传递若干个实参参数值给函数,而不管形参声明时要求的个数

function test(x){
console.log(x)
} test(1,2,3)//结果:1

    在函数的内部,存在一个伪数组对象。所谓伪数组,就是指长得像数组,但是不是真的数组。

  我们可以使用数组的方法来检验这个arguments是否是数组

function test(x){
console.log(x) //
console.log(arguments[0]);//
console.log(arguments[1]);//
console.log(arguments[2]);//
console.log(arguments[3]);//undefind 形参只有3个
} test(1,2,3)//结果:1

3.函数的返回值

(1) 当函数执行完毕后,我们可以返回一个值,返回的值的关键字为return。

function test(){
return 100;
return 200;
}
let i =test();
console.log(i);//

(2) 在JS里面,即使不书写return,也会拥有返回值,返回一个undefined

function test(){
console.log("Hello")
}
let i =test();
console.log(i);
//Hello
//undefind

注:

  需要注意函数里面一旦运行到return,函数的运行就结束了。换句话说,return后面的语句是不会执行的

JavaScript 普通声明式函数的更多相关文章

  1. JavaScript在页面中的执行顺序(理解声明式函数与赋值式函数) 转载

    JavaScript在页面中的执行顺序 https://blog.csdn.net/superhoy/article/details/52946277 2016年10月27日 15:38:52 阅读数 ...

  2. Javascript - 预编译与函数词法作用域

    预编译与函数词法作用域(Precompiled & Scoped) 预编译 Javascript脚本的宿主在执行代码之前对脚本做了预编译处理,比如浏览器对Js进行了预编译,编译器会扫描所有的声 ...

  3. JavaScript Functional Programming:声明式与命令式

    函数式编程属于声明式编程(declarative programming)的范畴,经常跟声明式编程一块儿讨论的是命令式编程(imperative programming),因为它们是两种不太一样的风格 ...

  4. 02.JavaScript 面向对象精要--函数

    在JavaScript中,函数其实也是对象.是函数不同于其他对象的特点是:函数存在一个被称为[[Call]]的内部属性.[[Call]]属性是函数独有的,表明该对象可以被执行.ECMAScript 定 ...

  5. AngularJS应用开发思维之1:声明式界面

    这篇博客之前承接上一篇:http://www.cnblogs.com/xuema/p/4335180.html 重写示例:模板.指令和视图 AngularJS最显著的特点是用静态的HTML文档,就可以 ...

  6. Javascript基础三(函数)

    函数第一节: 1.函数的概念及作用     函数是由事件驱动的或者当他被调用时可执行的可重复使用的代码块.   具备一点功能的代码段,代码段来实现具体的功能.要想实现一个函数的功能需要对函数进行调用. ...

  7. 零基础学习java------39---------json格式交互,Restful(不懂),静态资源映射,SSM整合(ssm整合思想,application.xml文件详解(声明式事务管理),)

    一. json格式交互(知道) 1 . 回顾ajax基本语法 $.ajax({ url:"", // 请求的后台路径 data:{"":"" ...

  8. C#并行编程-PLINQ:声明式数据并行

    目录 C#并行编程-相关概念 C#并行编程-Parallel C#并行编程-Task C#并行编程-并发集合 C#并行编程-线程同步原语 C#并行编程-PLINQ:声明式数据并行 背景 通过LINQ可 ...

  9. Ext JS 5的声明式事件监听

    在前文<在Ext JS 5使用ViewControllers>中,简单的介绍了Ext JS 5的一项重要改进——声明式事件监听.在本文,将深度探讨如何使用声明式事件监听啦简化应用程序的视图 ...

随机推荐

  1. sql server isnull函数

    isnull函数 --ISNULL() 函数用于规定如何处理 NULL 值 语法:SELECT ISNULL(check_expression, replacement_value) --check_ ...

  2. spring boot技术干货

    Spring Boot2 系列教程(一)纯 Java 搭建 SSM 项目 Spring Boot2 系列教程(二)创建 Spring Boot 项目的三种方式 Spring Boot2 系列教程(三) ...

  3. html/form表单常用属性认识

    1.form表单常用属性练习 <style> .form1 { margin: auto; height: 900px; width: 500px; text-align: center; ...

  4. vagrantfile 配置

    config.vm.network "forwarded_port", guest: 22, host: 2222, id: "ssh", disabled: ...

  5. deep_learning_Function_bath_normalization()

    关于归一化的讲解的博客——[深度学习]Batch Normalization(批归一化) tensorflow实现代码在这个博客——[超分辨率]TensorFlow中批归一化的实现——tf.layer ...

  6. 解压速度更快, Zstandard 1.4.1 发布

    zstd 1.4.1 发布了,zstd 又叫 Zstandard,它是一种快速无损压缩算法,主要应用于 zlib 级别的实时压缩场景,并且具有更好的压缩比.zstd 还可以以压缩速度为代价提供更强的压 ...

  7. 解决引导内核遇到undefined instruction的错误

    其实在上一篇随笔之前,就是在启动linux 内核的时候,出了点问题 刚Starting kernel ...就出现了undefined instrction,这是什么问题呢? 在网上也搜了不少资料,有 ...

  8. 一次NaN引发的npe

    # 先上代码 import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; public class QQ { p ...

  9. Codeforces Round #344 (Div. 2) 631 B. Print Check (实现)

    B. Print Check time limit per test1 second memory limit per test256 megabytes inputstandard input ou ...

  10. Java中如何判断两个对象是否相等(Java equals and ==)

    原文https://www.dutycode.com/post-140.html 如何判断两个对象相等,这个问题实际上可以看做是如何对equals方法和hashcode方法的理解. 从以下几个点来理解 ...