一.

函数的声明及调用
* 1函数的格式:function 函数名(参数1,参数2......){
* //函数体
* return 结果;
*
* }
* 函数调用的格式:
* 直接调用:函数名(参数1的值,参数2的值......);
* 事件调用:事件名="函数名()";

* 2,函数声明的几点强调:
* ①函数名的声明,必须符合小驼峰法则(首字母小写,之后每个单词首字母大写);
* ②参数列表,可以有参数也可以没有参数,分别称为有参函数,无参函数;
* ③声明函数时的参数列表,称为"形参列表"(变量的名);
* 调用函数时的参数列表,称为"实参列表"(变量的值);
* 函数中,实际有效的参数取决于参数的赋值,未被赋值的形参,将为Undeined;
* ④函数如果需要返回值,可用return返回结果;
* 调用函数时,使用var 变量名=函数名();的方式,接收返回结果;
* 如果函数没有返回值,则接受的结果为undefined;
* ⑤函数中变量的作用域:
* 在函数中,使用var声明变量,默认为函数局部变量,只在函数内能用;
* 不用var声明默认全局变量(函数中的全局变量必须在函数调用后才能使用)。
* 函数的形参列表,为函数局部变量,只在函数内部能调用;
* ⑥函数声明与函数调用没有先后之分。即,调用可以写在声明之前。
* consle.log(num);
* var num=10;
* 上述代码执行顺序:
* JS中代码执行,会先进行检查,装载,即声明变量,函数等操作;
* 然后再进入执行阶段,(变量的赋值属于执行阶段)
* 所以,函数的声明属于检查装载结案,函数的调用属于执行阶段。so,函数调用语句写在函数声明之前没关系.
* 所以上述代码执行流入
* 声明阶段
* var num;//声明变量
* function funcN()//声明函数
* 执行阶段
*
* console.log(num);
* num=10
* funcN()执行函数的{} 中的代码。
*

二.

匿名函数的声明及调用
* 1声明一个匿名函数,直接赋给某个事件;
* window.onload=function(){}
* 2使用函数表达式声明匿名函数;
* 声明函数表达式:var func=function(){}
* 调用函数表达式:func();
* 使用匿名函数表达式,则调用语句,必须在声明语句之后,否则报错(对比常规函数声明与调用区别)
* 3使用自执行函数,声明并直接调用匿名函数:
* !function(参数1){}(参数1的值);//使用任意运算符开头,一般用!
* (function(){}())//使用()将匿名函数及之后的括号包裹
* (function(){})()//使用()只包裹匿名函数表达式
*
*
* 三种写法的特点:
* ①结构清晰,开头加!结尾加()不容易错乱,推荐使用;
* ②可以表明匿名函数与之后的()为一个整体,推荐使用;
* ③无法表明函数与之后()为一个整体,不推荐使用。
*三.

函数内部的属性
* Arguments对象
* 1作用:用于保存调用函数时,所赋值的实参列表。
* 当我们调用函数,并使用实参赋值时,实际上参数已经保存到arguments数组中,即使没有形参,也可以使用arguments[n]的形式调用参数;
* 2arguments数组的个数,取决于实参列表,与形参无关(从0开始)
* 但,当第N个位置的形参,实参,arguents都存在时,形参与arguments是同步的。(即在函数中修改一个的值另一个会同步变化)
* 3.arguments.callee是arguments的重要属性,用于返回arguments所在函数的引用;
* arguments.callee()可以调用自身函数执行;
* 在函数内部调用函数自身的写法,被称为递归,所以arguments.callee()是递归调用时常用的方式:
* this:
* 指向函数调用语句所在作用域即谁调用函数this指向谁;

JS函数入门的更多相关文章

  1. JavaScript入门:006—JS函数的定义

    JS函数的声明. 声明函数的格式例如以下: function 函数名(參数列表){ //函数语句: return 返回值; } 来看详细的函数声明.1.普通函数 <script type=&qu ...

  2. Node.js快速入门

    Node.js是什么? Node.js是建立在谷歌Chrome的JavaScript引擎(V8引擎)的Web应用程序框架. 它的最新版本是:v0.12.7(在编写本教程时的版本).Node.js在官方 ...

  3. Node.js开发入门—HelloWorld再分析

    在Node.js开发入门(1)我们用http模块实现了一个简单的HelloWorld站点,这次我们再来细致分析下代码.了解很多其它的细节. 先看看http版本号的HelloWorld代码: 代码就是这 ...

  4. Vue.js+vue-element搭建属于自己的后台管理模板:Vue.js快速入门(二)

    Vue.js+vue-element搭建属于自己的后台管理模板:Vue.js快速入门(二) 前言 上篇文章对Vue.js有了初步理解,接下来我们把Vue.js基础语法快速的过一遍,先混个脸熟留个印象就 ...

  5. 如何编写高质量的 JS 函数(4) --函数式编程[实战篇]

    本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/ZoXYbjuezOWgNyJKmSQmTw作者:杨昆 [编写高质量函数系列],往期精彩内容: ...

  6. JS解密入门——有道翻译

    JS解密入门——有道翻译 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这 ...

  7. Node.js核心入门

    前言: 因为以前学习Node.js并没有真正意义上的去学习它,而是粗略的学习了npm的常用命令和Node.js一些模块化的语法,因此昨天花了一天的时间看了<Node.js开发指南>一书.通 ...

  8. 【JavaScript】JS从入门到深入(复习查漏向

    [JavaScript]JS从入门到深入(复习查漏向 pre 精细得学过一遍JS后才发现,原来之前CTF中有些nodejs的题目以及一些游戏题的payload就变得很好理解了. 基础知识 ECMASc ...

  9. JS快速入门(二)

    目录 JS快速入门(二) 结构图 BOM window对象 open() window子对象 location对象 history对象(了解) navigator 对象 screen对象 BOM 定时 ...

随机推荐

  1. jsp grid can not be used in this ('quirks') mode

    设置: <!--设置IE文档模式  --> <meta http-equiv="X-UA-Compatible" content="IE=9" ...

  2. [转]使用STM32CubeMX:USB大容量存储设备

    原文地址http://qiita.com/mt08/items/fcc925fa47726bfc6c74 概要 STM32CubeMXを使って.USB MassStorageを使ってみる. USBを使 ...

  3. 选择、操作web元素-3

    11月5日 Selenium 作业 3 登录 51job , http://www.51job.com 输入搜索关键词 "python", 地区选择 "杭州"( ...

  4. AIR程序调用本地默认应用程序打开本地文件

    当我用下面语句的时候,可以成功打开桌面文件夹下面的文件: var file:File = File.desktopDirectory.resolvePath("test.jpg") ...

  5. 在执行bat脚本的时候打印日志

  6. iOS 内存管理,ARC

    iOS 对象内存释放时机:当对象的引用计数为0时对象被释放. 所以如下代码: __weak NSObject * a = [[NSObject alloc] init]; 这个对象在创建完赋完值后会被 ...

  7. FireDac 组件说明二

    FDUpdateSQL 生成添加,删除,修改SQL语句 TFDMetaInfoQuery 查询数据源信息 TFDEventAlerter 负责处理数据库事件通知 使用TFDEventAlerter类来 ...

  8. css-实现子元素垂直居中

    1.父元素:position:relative; 2.子元素:position:absolute; top:50%; transform:translate(0,-50%); 完美解决

  9. Eclipse优化常用方法

    Eclipse优化常用方法如下: 1.减少不必要的验证 将Manual保持不动,build里面只留下classpath dependency Validator,其他的全部去掉.如果以后需要对文件进行 ...

  10. Python基本模块介绍:sys、platform

    sys模块 常用函数 sys.argv 命令行参数,实现从程序外部向程序传递参数. sys.path 模块搜索路径. sys.platform 获取当前系统平台. sys.version 获取pyth ...