一、函数的种类

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. Swift语言学习路线图

  2. 小强的HTML5移动开发之路(1)——HTML介绍

    来自:http://blog.csdn.net/dawanganban/article/details/17591373 HTML是HyperText Markup Language(超文本标记语言) ...

  3. spring 注解模式 详解

    Spring基于注解实现Bean定义支持如下三种注解: Spring自带的@Component注解及扩展@Repository.@Service.@Controller,如图12-1所示: JSR-2 ...

  4. Cocos2d中update与fixedUpdate的区别(六)

    它如何工作呢? update:和fixedUpdate:方法实际这样工作. Cocos2D将从iOS接口中取得时间间隔(delta)在你的游戏代码执行期间,并且检查fixedUpdate:方法在间隔期 ...

  5. how tomcat works 五 servlet容器 上

    servlet容器是用来处理请求servlet资源,并为Web客户端填充response对象的模块.在上一篇文章(也就是书的第四章)我们设计了SimpleContainer类,让他实现Containe ...

  6. 非阻塞IO模式原理

    与阻塞模式对应的另一种模式叫非阻塞IO模式,在整个通信过程中读和写操作不会阻塞,当前处理线程不存在阻塞情况.从A机器到B机器它的通信过程是:A机器一条线程将通道设置为写事件后往下执行,而另外一条线程遍 ...

  7. eclipse 设置maven来自动下载源码与doc

    通常我们通过maven来使用各种库文件,想要真正了解别人的类实现方法,需要查看别人的源码,maven给我们提供了这个便利,它不仅可以下载各种库文件,还会下载对应的源码和doc文档. 一.在工具栏找到W ...

  8. 插件化开发—动态加载技术加载已安装和未安装的apk

    首先引入一个概念,动态加载技术是什么?为什么要引入动态加载?它有什么好处呢?首先要明白这几个问题,我们先从 应用程序入手,大家都知道在Android App中,一个应用程序dex文件的方法数最大不能超 ...

  9. C#中任意类型数据转成JSON格式

    /// <summary>    /// List转成json     /// </summary>    /// <typeparam name="T&quo ...

  10. OpenCV——PS 滤镜, 曝光过度

    算法原理可以参考: PS 滤镜,曝光过度 #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include <io ...