js 通过function来定义函数
什么是函数:
函数是完成某一功能的代码段。
函数是可重复执行的代码段。
函数方便管理和维护。
自定义一个函数:
通过function关键字来定义一个函数。
语法:
function 函数名称([可以带参数,也可以不带参数,可以带一个参数,可以带多个参数]){
执行的代码段;
return返回值;
}
<script>
alert(demo()) //这个函数是一个全局函数,调用函数的时候可以在函数声明前调用,或者函数声明后调用都可以
function demo(){ //通过function关键字来声明一个函数
alert("this is a function") //alert()是执行的一个代码段
return 1 //return是这个函数的返回值
}
</script>
注意:
涵数名称不要包含特殊字符。
函数名字名称最好含义明确。
函数名称最好遵循驼峰标记法或者下划线法。
函数名称严格区分大小写。
涵数名称如果重复会产生覆盖。此例有演示代码:
<script>
//同名函数会被第最后一个覆盖
function demo(){
alert("这是第一个demo1")
}
function demo(){
alert("这是第二个demo2")
}
demo() //=>输出结果为 这是第二个demo2
</script>
函数可以有参数也可以没有参数,可以有一个参数也可以有多个参数
参数的注意:
如果定义了参数,在调用函数时候没有传值,默认设置为undefined 此处有演示代码
<script>
function demo(num1,num2){
return num1+num2 //num1和num2进行了隐式转换,undefined转换成number类型,结果为NaN,两个NaN相加为NaN
}
alert(demo()) //=>返回值为NaN
</script>
如果在调 用函数时如果传递参数超过了定义时的参数,js将会默认忽略掉多余的参数 此处有演示代码块
<script>
function demo(num1,num2){
return num1+num2
}
alert(demo(1,2,3,4,5)) //=>3 因为多余的参数将会被js自动忽略
</script>
js中不能直接写默认值,可以通过arguments对象来实现默认值效果,此处有演示代码:
<script>
//如果在参数里直接设置值,结果会报错,比如(num1=1,num2=2),这种情况下就会报错
function demo(num1,num2) {
/* num1= num1 != undefined?num1:1; //这个是用三元运算符来设置默认参数
num2= num2 != undefined?num2:3;*/
num1 = num1 || 1 //当如果调用函数传参的话则使用传参的参数,否则用后面的默认参数
num2 = num2 || 3
return num1+num2
}
alert(demo(1,4)) //=>5 这个是设置了参数
alert(demo()) //=>4 这个是用了默认设置的参数
</script>
函数通过return加返回值,如果没有return,默认返回undefined,此处有演示代码:
<script>
function demo(){
alert("这个是一个有返回值的函数,可以返回所有原始类型的值")
return "如果return后面再做什么操作都没起任何效果,遇到第一个return则直接返回值"
alert("没有任何效果") //第一个return后面的执行语句和
return false //返回值都不起任何作用
}
alert(demo()) //调用时,第一个先弹出alert语句,然后再返弹出返回这个函数的值
</script>
js 通过function来定义函数的更多相关文章
- js function定义函数的4种方法
js function定义函数的4种方法 1.最基本的作为一个本本分分的函数声明使用. 复制代码代码如下: 复制代码代码如下: function func(){} 或 var func=functio ...
- JS中 (function(){...})()立即执行函数
(function(){...})() (function(){...}()) 这是两种js立即执行函数的常见写法. 基本概念: 函数声明:function fname(){...}; 使用funct ...
- JS:JS中常见的 “函数名 is not a function” 错误
js中常见的错误,例如Uncaught TypeError: x is not a function 其原因除了函数本身有错之外,还有一种很奇怪的情况:函数本身没有错,但是运行时就是不能正常运行.这种 ...
- JS function 是函数也是对象, 浅谈原型链
JS function 是函数也是对象, 浅谈原型链 JS 唯一支持的继承方式是通过原型链继承, 理解好原型链非常重要, 我记录下我的理解 1. 前言 new 出来的实例有 _proto_ 属性, 并 ...
- JS特殊函数(Function()构造函数、函数直接量)区别介绍
函数定义 函数是由这样的方式进行声明的:关键字 function.函数名.一组参数,以及置于括号中的待执行代码. 函数的构造语法有这三种: 1.function functionName(arg0, ...
- JS学习笔记 (五) 函数进阶
1.函数基础 1.1 函数的基本概念 函数是一段JavaScript代码,只被定义一次,但是可以被调用或者执行许多次.函数是一种对象,可以设置属性,或调用方法. 函数中的参数分为实参和形参.其中,形参 ...
- 【Mocha.js 101】钩子函数
前情提要 在上一篇文章<[Mocha.js 101]同步.异步与 Promise>中,我们学会了如何对同步方法.异步回调方法以及 Promise 进行测试. 在本篇文章中,我们将了解到 M ...
- JS 关于(function( window, undefined ) {})(window)写法的理解
JS 关于(function( window, undefined ) {})(window)写法的理解 [网络整理] (function( window, undefined ) {})(windo ...
- JS魔法堂:函数重载 之 获取变量的数据类型
Brief 有时我们需要根据入参的数据类型来决定调用哪个函数实现,就是说所谓的函数重载(function overloading).因为JS没有内置函数重载的特性,正好给机会我们思考和实现一套这样的机 ...
随机推荐
- oracle Imp和exp以及导入常见的错误
一 1) 数据库对象已经存在 一般情况, 导入数据前应该彻底删除目标数据下的表, 序列, 函数/过程,触发器等; 数据库对象已经存在, 按缺省的imp参数, 则会导入失败 如果用了参数ignore=y ...
- 获取手机root的方法
- [Node.js] Introduction to apiCheck.js
timeoutLog.js: var apiCheckFactory = require('api-check'); var myCheck = apiCheckFactory(); module.e ...
- android 76 使用get post方式提交数据
get方式: package com.itheima.getmethod; import java.io.InputStream; import java.net.HttpURLConnection; ...
- Mysql参数详解
1.配置参数 MySQL有两种途径途径了解其的配置参数,一个是MySQL交互模式下的命令SHOW VARIABLES,一个使用mysqladmin variables 查询. MySQL的配置参数分 ...
- Java 授权内幕--转载
在信息安全性领域,授权是世界的的中心,因为它是控制个体(即人.进程和计算机)对系统资源的访问权限的过程.直到最近,在 Java 安全体系结构中相关的问题都是“这段运行中的代码的访问权限是什么?” 随着 ...
- MySQL查询
DQL 操作 DQL 数据查询语言(重要) 数据库执行DQL语句不会对数据做出任何改变,而是让数据库发送结果集给客户端. 查询返回的结果是一张虚拟表. 查询关键字:SELECT ...
- Oracle11g - dos 命令 sqlplus/nolog 提示 不是内部命令解决办法
继安装Oracle 11g后,解锁SCOtt时发现 dos 命令 sqlplus/nolog 提示 不是内部命令解决办法 通过实际验证现整理有效方法步骤如下: 步骤一:开始>>找到Or ...
- PHP中的session会话创建打印释放销毁;
PHP Session PHP session 变量用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置.Session 变量存储单一用户的信息,并且对于应用程序中的 ...
- Eclipse优化集合,Eclipse优化速度,解决Ctrl+C、Ctrl+V卡
Eclipse优化集合,Eclipse优化速度,解决Ctrl+C.Ctrl+V卡 >>>>>>>>>>>>>>> ...