一、函数的简介

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>函数的入门</title>
</head>
<script type="text/javascript">
/*函数(function)也是个对象,可以封装一些代码,在需要时调用
使用typeof检查函数对象时,会返回function
可以将要封装的代码以字符串的形式传递给构造函数
封装到函数中的代码不会立即执行,函数中代码会在函数调用时执行。 语法:函数对象名();
封装的代码会按顺序执行
* */
var fun=new Function("console.log('你敲代码好low呀');");/*这方式很少使用*/
fun();
/*使用函数声明来创建函数 (形参可有可无 即无参函数)
function 函数名(形参1,形参2...){
函数体;
}
* */
function fun2(){
console.log("你敲代码好像蔡徐坤呀");
}
fun2();
/*使用函数表达式来创建函数 --即创建匿名函数,然后把匿名函数赋值给一个变量
var 函数名=function(形参1,....){ }
* */
var fun3= function(){
console.log("哈哈");
};//这里最好加个分号,这是个赋值语句
fun3(); </script>
<body>
</body>
</html>

二、函数参数和返回值

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>函数的参数</title>
</head>
<script type="text/javascript">
/*这里声明形参跟Java中不同,这里不用指定形参类型。它就相当于在函数内部声明了对应的变量var
1)浏览器的解析器不会检查实参的类型。即使传个参数("你好",123) 也不会报错。所以有时需要检查判断传入的数据类型
2)也不会检查实参的数量,多余的实参不会被赋值,也不会报错 (123,45,6)不会报错
3)如果实参的数量不够,则缺少的实参数据类型是undefined 输出结果为NaN
函数内部也可以声明函数。
*
* * */
function add(a,b){
console.log(a+b);
}
add(2,3);
/*函数的返回值 ,在函数中它不用指定的数据类型去接收,跟Java不同。在调用时接收这点是一样的
return 之后的语句都不会执行 。return后边什么也不跟或不写return就相当于返回一个undefined
return 可以返回任意类型的值。也可以是个对象,也可以是个函数
return 是它后边的语句都不会执行。break是跳出所有的循环,换句话说若是循环后边还有语句,还会执行,但是return则不是,直接退出函数也
* */
function add2(a,b,c){
var sum=a+b+c;
return sum;
}
var result=add2(3,6,7);
console.log(result);
console.log(add2(3,12,8));
</script>
<body>
</body>
</html>

练习

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>函数参数的练习</title>
<script type="text/javascript">
function isEven(n){/*判断一个数是不是偶数,是偶数返回true不是返回false*/
/* if(n%2==0){
console.log(n+"是偶数");
}else{
console.log(n+"不是偶数");
}*/ return n%2==0; }
console.log(isEven(17)); function area(R){//计算圆的面积
return 3.14*R*R;
}
console.log(area(10));
/*实参可以是任意一个数据类型,包括一个对象。当参数过多时,可以封装成一个对象传递*/
var obj={
name:"猴子",
age:18,
address:"花果山"
}
function sayHello(o){
console.log("姓名:"+o.name+",年龄:"+o.age+",住址:"+o.address);
}
sayHello(obj);
/*实参也可以是个函数*/
function fun (a) {
console.log("a="+a);
a(obj);//调用a就是调用函数sayHello
}
fun(sayHello);//这里sayHello就是一个函数 同理fun也可以传个匿名函数.
//fun(sayHello());调用sayHello函数 fun(sayHello);调用sayHello函数对象
fun(function(){ console.log("hello")}); </script>
</head>
<body>
</body>
</html>

[19/05/29-星期三] JavaScript_ 函数的简介的更多相关文章

  1. [19/05/26-星期日] JavaScript_ 基本语法_运算符

    一.概念 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <titl ...

  2. 【Python】函数基础简介

    一.函数 1. 简介 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率. 2. 组成 函数代码块以 def 关键词开头,后接函数名和圆括号( ...

  3. main函数的简介

    ////  main函数的简介.h//  IOS笔记////  Created by .//  Copyright © 2015年  All rights reserved.// //#import ...

  4. API各函数作用简介

    API各函数作用简介 1.控件与消息函数 AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小 AnyPopup 判断屏幕上是否存在任何弹出式窗口 ArrangeI ...

  5. SpringBoot+mybatis:报错Fri Oct 19 14:29:24 CST 2018 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requiremen

    报错:Fri Oct 19 14:29:24 CST 2018 WARN: Establishing SSL connection without server's identity verifica ...

  6. mssql sql server ceiling floor 函数用法简介

    摘自: http://www.maomao365.com/?p=5581摘要: 下文主要讲述ceiling.floor函数的功能及举例说明  一.ceiling floor函数功能简介 ceiling ...

  7. mssql sql server 其它系统函数 parsename 点语法字符串分割函数应用简介

    转自:http://www.maomao365.com/?p=4534 一. parsename函数功能简介 parsename函数的主要功能是:可以快速的使用”.”关键字分解字符串,并返回.分解后指 ...

  8. Python3 matplotlib的绘图函数subplot()简介

    Python3 matplotlib的绘图函数subplot()简介 一.简介 matplotlib下, 一个 Figure 对象可以包含多个子图(Axes), 可以使用 subplot() 快速绘制 ...

  9. linux c语言 fork() 和 exec 函数的简介和用法

    linux c语言 fork() 和 exec 函数的简介和用法   假如我们在编写1个c程序时想调用1个shell脚本或者执行1段 bash shell命令, 应该如何实现呢? 其实在<std ...

随机推荐

  1. HDU-3605-Escape(最大流, 状态压缩)

    链接: https://vjudge.net/problem/HDU-3605 题意: 2012 If this is the end of the world how to do? I do not ...

  2. 【NOIP2012模拟10.25】旅行

    题目 给定一个n行m列的字符矩阵,'.'代表空地,'X'代表障碍.移动的规则是:每秒钟以上下左右四个方向之一移动一格,不能进入障碍. 计算:在空地中随机选择起点和终点(可以重合,此时最短耗时为0),从 ...

  3. 【NOIP2012模拟10.25】单元格

    题目 在一个R行C列的表格里,我们要选出3个不同的单元格.但要满足如下的两个条件: (1)选中的任意两个单元格都不在同一行. (2)选中的任意两个单元格都不在同一列. 假设我们选中的单元格分别是:A, ...

  4. XML 浏览器支持

    几乎所有的主流浏览器均支持 XML 和 XSLT. Mozilla Firefox 从 1.0.2 版本开始,Firefox 就已开始支持 XML 和 XSLT(包括 CSS). Mozilla Mo ...

  5. Mac item2常用快捷键

    记录一下iterm 2 快捷键,用于备忘! 标签 新建标签:command + t 关闭标签:command + w 切换标签:command + 数字 command + 左右方向键 切换全屏:co ...

  6. 原生实现ajax解析--XMLHttpRequest

    ajax基础: Asynchronous JavaScript and XML,意思就是用JavaScript执行异步网络请求. 如果仔细观察一个Form的提交,你就会发现,一旦用户点击“Submit ...

  7. 修改apache2配置,禁止目录访问+禁止访问.git文件夹

    通过url访问服务器,无论是本地服务器还是远程服务器 如果你的文件根目录里有 index.html,index.php,浏览器就会显示 index.html的内容,如果没有 index.html,浏览 ...

  8. EasyUI datagrid动态加载json数据

    最近做一个项目,要求是两张张表可能查找出10多种不同的结果集. 如果想只用一个表格就把全部的结果不同的显示出来那么就肯定不同使用固定的字段名字,要通过动态加载后台返回来的数据把它显示出来就必须动态加载 ...

  9. linux下插入U盘自动挂载后,用C获取其挂载点(cat /proc/mounts)

    现在已经能够通过libudev获取U盘插入时它的节点名(通过函数udev_device_get_devnode()),是/dev/sdb1 我现在的做法是读取/proc/mounts文件,找到有/de ...

  10. __proto__ VS. prototype in JavaScript

    __proto__ VS. prototype in JavaScript http://dmitrysoshnikov.com/ecmascript/javascript-the-core/#a-p ...