一、函数的种类

1.无参函数

function showName() {
alert("我是无参函数");
}

2.有参函数 在函数中的参数为“形式参数”

形式参数:定义函数时指定的参数,具体数据是由实际参数决定
实际参数:调用函数的时候指定的参数,实参的值会影响形式参数*/
function showName(name) {
alert(name);
}

二、函数的调用方式

1.直接调用

function showName(name) {
alert(name);
}
showName();

2:函数调用一般和元素的事件一起使用,调用格式(和元素事件绑定)

事件名=“函数名()”
onclick="showName('A')"

三、匿名函数

匿名函数用变量接收。变量名称+()可以让函数执行
var show = function () {
alert("1111");
};
show();
 

匿名函数的自调用

方法一
(function () {
alert("我是匿名函数!")
})();
方法二
(function () {
alert("我是匿名函数!")
}());
方法三
!function () {
alert("我是匿名函数!")
}();

四、return关键字

给主调函数返回一个被调函数的计算结果。
function calc(num1,c,num2) {
switch (c){
case '+' :
var result = num1 + num2 ;
break;
case '-' :
var result = num1 - num2 ;
break;
case '*' :
var result = num1 * num2 ;
break;
case '/' :
var result = num1 / num2 ;
break;
}
return result;
/*alert(result);*/
}
var r = calc(parseInt(prompt("请输入第一个数:")),prompt("请输入四则运算符:"), parseInt(prompt("请输入第二个数:")));
alert(r);

五、实参不确定的情况

1、在实参个数不确定的情况下,可以省略形参,在函数体内部使用arguments
argument是一个数组,里面包含了函数调用的所有实参!
function show() {
alert(arguments[0]);
}
show("aaa");
2、arguments.callee属性
arguments.callee属性指向函数本身,可以用于递归
function show() {
console.log(arguments.callee);
}
show("aab");
3.arguments的this属性
var zhangsan ={
name: "zhangsan",
age: "28",
height: "189",
say:function () {
alert(zhangsan.name);
/*按f12看console属性*/
console.log(this);
},
eat:function () {
alert("汉堡包!");
},
}
zhangsan.say();

六、变量作用域

全局变量

1.写在函数前面的变量
2.没用var修饰的变量
没用var修饰的变量,会一层一层的往上找,如果找到同名变量,就进行赋值,或覆盖原有值
如果到最后都没有找到同名变量,就声明一个同名全局变量。

局部变量

定义在函数内部的变量。
代码举例:
var num = 10;
function calc1() {
num = 5;
alert(num + 15);
}
function calc2() {
alert(num + 20);
}
calc1();
calc2();
 

最新文章

  1. css的字体
  2. php常见问题
  3. 【简单易懂的AMV图文教程-2】VEGAS基础进阶——认识关键帧
  4. 【推荐】iOS带有加载网络图片进度的UIImageView
  5. git tag推送小分析
  6. jQuery之动画效果show()......animate()
  7. llinuxs介绍与常用命令
  8. HDU 4548(美素数)
  9. OpenFlow硬件交换机制作及刷机教程
  10. TestNG的组测试和组中组测试
  11. [知了堂学习笔记]_JSON数据操作第1讲(初识JSON)
  12. Python简单爬虫
  13. Appium移动自动化测试(三)--安装Android模拟器(建议直接连手机,跳过此步)
  14. Visual Studio 201~ Code 格式检查
  15. tomcat启动超过时间
  16. 洛谷P1057传球游戏题解
  17. php项目,别人无法访问自己(windows 系统)上Apache服务器原因(转载)
  18. Qt信号和槽机制
  19. 79、iOS 的Cocoa框架、Foundation框架以及UIKit框架
  20. 浅谈移动端设备标识码:DeviceID、IMEI、IDFA、UDID和UUID

热门文章

  1. ORACLE收集统计信息
  2. Intellij Idea配置提高速度
  3. Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突
  4. crontab 任务程序执行乱码的问题
  5. OpenCV 实现哈哈镜效果
  6. 浅谈C之精华---指针
  7. Java进阶(十四)实现每天定时对数据库的操作
  8. 【Android 应用开发】AndroidUI设计之 布局管理器 - 详细解析布局实现
  9. FineReport性能调优的一些办法
  10. Libevent库学习笔记