函数---Function对象

一 .  函数的书写

函数 : 就是将一些语句进行封装,然后通过调用的形式,执行这些语句.

函数的作用 :

  ● 将大量重复的语句写在函数里,以后需要这些语句的时候,可以直接调用函数,避免重复劳动.

  ● 简化编程,让编程模块化

  console.log("hello world");
sayHello(); //调用函数
//定义函数:
function sayHello(){
console.log("hello");
console.log("hello world");
}

第一步 : 函数的定义

函数定义的语法 :

function 函数名(参数){
}

解释 :

    ● function : 是一个关键字.中文是"函数", "功能"

    ● 函数名字 : 命名规则和变量的命名规则一样,只能是字母,数字,下划线,美元符,不能以数字开头

    ● 参数 : 后面有一对小括号,是放参数的.

    ● 大括号里面,是这个函数的语句.

第二步 : 函数的调用 :

函数的调用的语法 :

函数名字();

函数的参数 : 形参和实参

函数的参包括形参和实参.

  注意 : 实际参数和形式参数的个数要相同.

示例 :

        sum(3,4);
sum("3",4);
sum("Hello","World"); //函数:求和
function sum(a, b) {
console.log(a + b);
}

函数的返回值

示例 :

       console.log(sum(3, 4));

        //函数:求和
function sum(a, b) {
return a + b;
}

二 .  函数的内置对象 arguments  伪数组

arguments 代表的是实参,有个讲究的地方是 : arguments 只在函数中使用.

   (1) . 返回函数实参的个数 : arguments.length

    fn(2,4);
fn(2,4,6);
fn(2,4,6,8); function fn(a,b,c) {
console.log(arguments);
console.log(fn.length); //获取形参的个数
console.log(arguments.length); //获取实参的个数 console.log("----------------");
}

    效果  :

       (2) .  之所以说 arguments 是伪数组 , 是因为 : arguments 可以修改元素,但不能改变数组的长短.

    fn(2,4);
fn(2,4,6);
fn(2,4,6,8); function fn(a,b) {
arguments[0] = 99; //将实参的第一个数改为99
arguments.push(8); //此方法不通过,因为无法增加元素
}

清空数组的集中方式 :

   var array = [1,2,3,4,5,6];

    array.splice(0);      //方式1:删除数组中所有项目
array.length = 0; //方式1:length属性可以赋值,在其它语言中length是只读
array = []; //方式3:推荐

三 . 匿名函数

// 匿名函数
var func = function(arg){
return "tony";
} // 匿名函数的应用
(function(){
alert("tony");
} )() (function(arg){
console.log(arg);
})('123')

最新文章

  1. Sql Server系列:数据库组成及系统数据库
  2. SSIS:控件清单
  3. 完美隐藏win7文件和文件夹
  4. css 前景色与背景色
  5. C语言快速排序
  6. hdu 2337 Escape from Enemy Territory
  7. ckeditor异常问题
  8. UAF漏洞--iOS是越狱原理
  9. [hdu5113]Black And White2014北京赛区现场赛B题(搜索加剪枝)
  10. string模板
  11. this和$(this)
  12. Java 泛型 泛型的约束与局限性
  13. 原型那些事 - JavaScript深入浅出(三)
  14. Java面向对象(一、封装)
  15. MongoDB索引基本操作
  16. react-redux中的数据传递
  17. .NET Framework自带的文件内存映射类
  18. Holt Winter 指数平滑模型
  19. glide从入门到精通使用
  20. AngularJS监听路由变化

热门文章

  1. indy9在程序关闭时出现terminate thread timeout的BUG解决办法
  2. n*n的正方形网格中有多少个长方形
  3. Android -- 开机启动无界面后台程序
  4. 椭圆人头跟踪bmp图像序列 BMP Image Sequences for Elliptical Head Tracking
  5. jmeter如何在写入jtl文件时同步写入数据库
  6. Redis 数据结构解析和命令指南
  7. sql的一些知识_数据分组
  8. js增加收藏
  9. class中的私有属性的访问
  10. CareerCup之1.6 Rotate Image