一、函数的种类

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();
 

JS——函数的更多相关文章

  1. 3.3 js函数

    1.函数语法: 函数声明的方式:function 函数名(参数1,参数2-){//函数体;}函数调用:函数名(参数1,参数2-); 函数内不一定都指定返回值. 如果需要指定返回值,可用 return ...

  2. Js函数function基础理解

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

  3. js函数表达式和函数声明的区别

    我们已经知道,在任意代码片段外部添加包装函数,可以将内部的变量和函数定义"隐 藏"起来,外部作用域无法访问包装函数内部的任何内容. 例如: var a = 2; function ...

  4. 通用js函数集锦<来源于网络> 【二】

    通用js函数集锦<来源于网络> [二] 1.数组方法集2.cookie方法集3.url方法集4.正则表达式方法集5.字符串方法集6.加密方法集7.日期方法集8.浏览器检测方法集9.json ...

  5. 通用js函数集锦<来源于网络/自己> 【一】

    通用js函数集锦<来源于网络/自己>[一] 1.返回一个全地址2.cookie3.验证用户浏览器是否是微信浏览器4.验证用户浏览器是否是微博内置浏览器5.query string6.验证用 ...

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

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

  7. JS函数

    1.document.write(""); 输出语句2.JS中的注释为//3.传统的HTML文档顺序是:document->html->(head,body)4.一个浏 ...

  8. js函数和运算符

    函数是由事件驱动或者它被调用时执行可重复使用的代码块. <script> function myFunction(){ Alert(“hello World!”): } </scri ...

  9. JavaScript学习03 JS函数

    JavaScript学习03 JS函数 函数就是包裹在花括号中的代码块,前面使用了关键词function: function functionName() { 这里是要执行的代码 } 函数参数 函数的 ...

  10. JSF页面中使用js函数回调后台bean方法并获取返回值的方法

    由于primefaces在国内使用的并不是太多,因此,国内对jsf做系统.详细的介绍的资料很少,即使有一些资料,也仅仅是对国外资料的简单翻译或者是仅仅讲表面现象(皮毛而已),它们的语句甚至还是错误的, ...

随机推荐

  1. iOS开发 runtime实现原理以及实际开发中的应用

    自己写了一个小例子:有一些相关知识点和博客文章 A: 首先现在控制器里面初始化一个对象,然后调用对象的方法: #import "ViewController.h" #import  ...

  2. 认识一下Android 事件分发机制

    1.引子 由于android是采用分层布局(可以想象成PS时的图层概念一样),这样才可以在有限大小的手机屏幕上完成一些复杂的操作.当手指点击屏幕开始,这些动作在各层之间如何传递?就引出了Android ...

  3. 《java入门第一季》之eclipse快捷键

    Eclipse快捷键大全(转载) Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Ctrl+Alt+↑ 复制当 ...

  4. SpriteBuilder中的距离关节的min和max距离属性值

    如果你希望制作一个球,比如足球或篮球.那么需要另外添加8个距离关节. 每个关节同时连接中心节点和其中一个圆周上的节点,并且启用最小和最大距离且设为相同的值.碰撞物体属性(Collide bodies) ...

  5. 程序员编程艺术:第三章续、Top K算法问题的实现

    程序员编程艺术:第三章续.Top K算法问题的实现 作者:July,zhouzhenren,yansha.     致谢:微软100题实现组,狂想曲创作组.     时间:2011年05月08日    ...

  6. 初探linux子系统集之写在前言

    毕业两周年,进入嵌入式linux这个行业也已两个年头有余,从开始的linux驱动,android的framework,到现在的linux应用,android的app以及产品的零零总总,其实很想把这些都 ...

  7. LeetCode(64)- Min Stack

    题目: Design a stack that supports push, pop, top, and retrieving the minimum element in constant time ...

  8. 恶补web之二:css知识(3)

    css有3种定位机制:普通流,浮动和绝对定位. 除非专门指定,否则所有框都在普通流中定位,即普通流中的元素位置由元素在(x)html中的位置决定. 通过使用position属性,可以选择4种不同类型的 ...

  9. shell中的crontab定时任务

    一.crontab简介: crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动 ...

  10. javaWeb安全漏洞修复总结

    1 Web安全介绍1 2 SQL注入.盲注1 2.1 SQL注入.盲注概述 1 2.2 安全风险及原因 2 2.3 AppScan扫描建议 2 2.4 应用程序解决方案 4 3 会话标识未更新7 3. ...