回头又跑去看了下尚硅谷的js基础视频
https://www.bilibili.com/video/av22958172/?p=51。
便做了如下笔记:
1.函数也是一个对象
2.函数可以封装一些功能(代码),在需要时可以执行这些功能(代码)
3.函数可以保存一些代码在需要的时候调用

 <script>
// 创建函数
var fun = new Function();
console.log(fun);//输出一个空函数
console.log(typeof fun);//输出function //封装函数
var fun = new Function("console.log('hello');");//封装的是可执行代码,这种方式在开发中不建议使用 //调用函数
fun();//hello。调用函数后函数才会执行
fun();//hello。多次调用还是hello,在其他地方调用,输出仍是hello // 函数做对象使用
fun.hello = 'hello';
console.log(fun.hello);//hello // 重点:开发中使用方法
// 第一种方式:
// 语法:function 函数名(形参1,形参2...形参n ){语句}; //1声明函数:
function fun2() {
console.log("执行语句");
}
//2执行函数
fun2();//执行语句 // 第二种方式:
// 使用函数表达式来创建一个函数
// 语法: var 函数名 = function(形参1,形参2...形参n){语句} //1给一个匿名函数命名fun3,相当于赋值给了fun3
var fun3 = function () {
console.log("匿名函数赋值给了fun3")
};//赋值语句 //2执行函数
fun3();//匿名函数赋值给了fun3
</script>
函数参数使用:
1.可以定义一个或多个形参
2.形参之间使用,隔开,声明蚕食相当于函数内部声明了对应变量
3.但是并不赋值

<script>
// 实例一 // 声明函数使用形参x,y
function sum(x, y) {
console.log(x + y);
}//求x,y的和 //调用函数使用实参1,1或2,5。可以多次调用
sum(1,1);//
sum(2,5);// // 注意:a使用函数时,解析器不会检查实参的类型
sum(123, 'hello');//123hello
sum(true, false);//
// b调用函数是,解析器也不会检查实参的数量
sum(123, 456, 'hello', true, false);//579,多余的会舍去
sum(123);//NaN。如果少于,则少的参数为undefined </script>

返回值:
1.语法 :return 值
2.return后的值将会作为函数的执行结果返回
3.在函数中return后的语句不会执行
4.return;后面不跟值相当于renturn undefined;

<script>

        // 实例二
// 声明一个函数:计算三个数之和
function add(a, b, c) {
var d = a + b + c;
return d;
alert("hello");//在函数中return后的语句不会执行
}//返回一个结果 // 调用函数
var result = add(1, 2, 3)
console.log(result);// // 实例三:
function isOu(num) {
return num % 2 == 0;
}//判断是否为偶数
var result = isOu(3);
console.log(result);//false;
</script>
当参数过多时该如何去声明函数

 <script>
var obj = {
name: '我',
age: '18',
gender: '男'
}
function sayMy(o) {
console.log(o.name + o.age + o.gender);
}
sayMy(obj);//我18男
</script>

js函数基础回顾的更多相关文章

  1. js函数基础知识

    [函数的声明及调用] function 函数名(参数1,参数2,....){ //函数体代码 return返回值: } 1.函数的调用: ①直接调用:函数名(参数1的值,参数2的值,....) ②事件 ...

  2. Javascript eval()函数 基础回顾

    如果您想详细了解ev al和JSON请参考以下链接: eval  :https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Glo ...

  3. js 函数基础(方便复习使用)

    // 函数声明: function bbq(){ // ..... } // 函数表达式: // 1.命名函数表达式 var test = function abc(){ document.write ...

  4. JS函数基础

    一.函数 1.函数是什么 具有特定功能的n条语句的封装体. 只有函数是可执行的,其它类型的数据是不可执行的. 函数也是对象. 2.为什么要用函数 提高代码复用 便于阅读和交流 3.如何定义函数 函数声 ...

  5. JS 函数基础

    函数简介 函数 函数也是一个对象 函数中可以封装一些功能(代码),在需要时可以指向这些功能(代码) 函数中可以保存一些代码在需要时调用 使用typeof检查一个函数对象时,会返回function 创建 ...

  6. Js函数function基础理解

    正文:我们知道,在js中,函数实际上是一个对象,每个函数都是Function类型的实例,并且都与其他引用类型一样具有属性和方法.因此,函数名实际上是指向函数对象的指针,不与某个函数绑定.在常见的两种定 ...

  7. 100多个基础常用JS函数和语法集合大全

    网站特效离不开脚本,javascript是最常用的脚本语言,我们归纳一下常用的基础函数和语法: 1.输出语句:document.write(""); 2.JS中的注释为//3.传统 ...

  8. JavaScript基础精华02(函数声明,arguments对象,匿名函数,JS面向对象基础)

    函数声明 JavaScript中声明函数的方式:(无需声明返回值类型) function add(i1, i2) {             return i1 + i2;//如果不写return返回 ...

  9. 基础常用JS函数和语法

    100多个基础常用JS函数和语法集合大全  来源:http://www.cnblogs.com/hnyei/p/4605103.html 网站特效离不开脚本,javascript是最常用的脚本语言,我 ...

随机推荐

  1. 关于Js的那些面试题

    1.javascript的typeof返回哪些数据类型 number string boolean Object function underfind 2.例举3种强制类型转换和2种隐式类型转换?强制 ...

  2. Linux进程操作记录

    关于Gunicorn如何终止进程: 1.用进程树显示主进程PID: pstree -ap | grep gunicorn 2.如果有daemon进程无法用kill -9删除(可能是因为daemon屏蔽 ...

  3. 如何在国内离线安装Chrome扩展并科学查资料

    国内离线安装Chrome扩展 这些链接是从知乎国内离线安装 Chrome 扩展程序的方法总结 - 知乎看到的, 怕这个链接失效, 在这里自己备一份: Crx4Chrome - Download CRX ...

  4. Block详解一(底层分析)

    本篇博客不再讲述Block的基本定义使用,最近而是看了很多的block博客讲述的太乱太杂,所以抽出时间整理下block的相关底层知识,在讲述之前,提出几个问题,如果都可以回答出来以及知道原理,大神绕过 ...

  5. postgresql自增字段初始值的设定

    在实际开发中会有这样的需求,想要自己设置表中自增字段的初始值. 比如:有一个your_table表中有一个自增字段id,我们知道,插入数据后,默认是从1开始自增的. 但是假如现在有一个需求,是要求id ...

  6. 【python】提取sql语句中的表名

    前言 最近刚学python,写一个小工具时需要提取sql语句中表名,查询一番后找到一篇文章挺不错的,mark一下 PS.那篇文章是转载的,且没有标注转载自哪里 正文 import ply.lex as ...

  7. 【分布式锁】01-使用Redisson实现可重入分布式锁原理

    前言 主流的分布式锁一般有三种实现方式: 数据库乐观锁 基于Redis的分布式锁 基于ZooKeeper的分布式锁 之前我在博客上写过关于mysql和redis实现分布式锁的具体方案:https:// ...

  8. kerberos系列之kerberos安装

    最近搞了一下kerberos,准备写一个系列,介绍kerberos的安装,和常用组件kerberos配置,今天进入第一篇:kerberOS安装 具体kerberos是什么东西,大家可以百度查一下,这里 ...

  9. Integration of Metabolomics and Transcriptomics To Reveal Metabolic Characteristics and Key Targets Associated with Cisplatin Resistance in Nonsmall Cell Lung Cancer(解读人:林山云)

    期刊名:J. Proteome Res 发表时间:(2019年8月) IF:3.78 单位: 上海第九人民医院药学系,上海交通大学药学院 上海交通大学药物与生物化学系   物种:人源A549细胞系 技 ...

  10. go语言周边

    博主收藏的go语言资料,分享一波~~~ 官网 https://golang.org/ (被墙) 镜像: http://docscn.studygolang.com/ 下载镜像: https://gom ...