函数在任何编程语言中起着非常重要的位置,因为他是功能的最小单元,在js中函数是一种类型 Function

1 申明与定义

显示声明:function cc(){};函数名其实是函数的一个指针,函数名某种意义上也就是function类型的一个变量,对于显示什么的函数,不管函数在文档什么位置都糊被js引擎预先加载到编译环境栈中;

也就是申明自动提前

函数表达式:var fun=function(){};对于表达式函数,起本质上变量指向了一个函数,但是呢,这个函数申明不会被提前加载到js引擎中提前编译

2 函数成员

this:this在js中是一个灵活多变的玩意儿,它指向的函数运行域对象,说起这个域对象其实是个比较难理解的东西;要理解this指向谁,只需明白谁调用了该函数,this就指向谁

argument:该对象存储了函数的所有形式参数,argument.callee该函数指向了函数本身,这个属性往往用于函数递归调用;

function sum(m){

  if(m>0){

    return m+argument.callee(m-1);

  }

  else{

    return 1;

  }

}

prototype:函数的原型对象,是函数的一个非常非常重要的成员

3 函数属性和方法

length:函数参数的个数

call:调用方式,var fun=sum;fun.call(this,*,*),这里第一个参数均为上下文this对象,在这里可以改变this的指向,对于函数的形式参数这里要求一一列举出来

apply:与call不同的是形式参数不用一一列举出来,如 func.apply(this,func.argument)

bind:bind与call和apply不同的是bind将函数又变成一个变量,且可以改变函数的this,如sum.bind(o);

4 函数的特性

函数不具有重载性

函数可以作为变量:作为函数的返回值,函数的形式参数;

js中函数作为面向对象程序设计具有非常重要的基础,而函数也是最为复杂的类型之一,其中函数嵌套,闭包,面向对象,继承,多态等待等。

转载于:https://www.cnblogs.com/rjjs/p/5865584.html

重操JS旧业第五弹:函数相关推荐

  1. 重操JS旧业第十一弹:BOM对象

    BOM对象即浏览器内置对象,现今流行的浏览器内核有Safri,Firefox,Chrome,Opera,IE其中IE的兼容性是最蛋疼的在10及其过后还好点,但是现在IE基本上淘汰,而国内像360这种垃 ...

  2. 带参函数_更好的理解Python第五弹函数预处理与指针

    编译预处理 预处理概念:在编译之前进行处理 在C语言中,预处理行为宏定义,文件包含,条件编译 指令 用处 # 无 #define 定义一个宏 #undef  取消定义一个已经定义的宏 #include ...

  3. 祖师爷尤大说我的代码全部不加分号 | 重学JS

    点击上方 前端Q,关注公众号 回复加群,加入前端Q技术交流群 前言 在线音乐[1]戳我呀! 音乐博客源码[2]上线啦! 上篇写的想写好面向对象的代码,这篇一定要看 | 重学JS[3]提到的匿名函数提到 ...

  4. JS基础:变量、函数、对象、数组、循环、选择(判断)

    JS基础:变量.函数.对象.数组.循环.选择(判断) js的三个组成部分 ECMAScript - ES - 语法规范 DOM - 文档对象模型 - API BOM - 浏览器对象模型 - API j ...

  5. 用js完成页面定时弹出广告

    用js完成页面定时弹出广告 第一步:在页面指定位置隐藏一个广告图片(使用display属性的none值) 第二步:确定事件(onload)并为其绑定一个函数 第三步:书写这个函数(设置一个显示图片的定 ...

  6. 原生js已载入就执行函数_手写CommonJS 中的 require函数

    前言 来自于圣松大佬的文章<手写CommonJS 中的 require函数> 什么是 CommonJS ? node.js 的应用采用的commonjs模块规范. 每一个文件就是一个模块, ...

  7. 《Go语言圣经》学习笔记 第五章函数

    <Go语言圣经>学习笔记 第五章 函数 目录 函数声明 递归 多返回值 匿名函数 可变参数 Deferred函数 Panic异常 Recover捕获异常 注:学习<Go语言圣经> ...

  8. JS:1.3,函数(function)

    ylbtech-JS:函数-导航 函数定义 返回函数 调用一个函数 调用一个函数(带参数) 返回值的函数 调用外部的js文件 JS:3.1,函数(function)-定义 返回顶部 1,定义函数语法 ...

  9. JavaScript重难点解析2(立即执行函数IIFE,this关键字)

    JavaScript重难点解析2(立即执行函数IIFE,this关键字) 立即执行函数 this关键字 立即执行函数 也叫做匿名函数自调用,可以在定义一段函数之后直接让其执行. ;(function ...

最新文章

  1. EC20模块、主机休眠唤醒机制
  2. PSO DE EA算法的不同及相同之处。
  3. java break在switch_java中switch case语句需要加入break的原因解析
  4. 【小白学习keras教程】十、三种Model Selection方法:k-fold cross-validation,GridSearchCV和RandomizedSearchCV
  5. Java方法中的参数太多,第4部分:重载
  6. matlab的diray在哪,matlab笔记
  7. 计组之总线:1、总线(分类、特性、定义、性能指标)
  8. Xcode7 添加PCH文件
  9. Jquery实现轮播图效果(fadeIn()和fadeOut()方法的应用)
  10. iOS 使用FFmpeg
  11. Apache+php+mysql在windows下的安装与配置图解之apache篇
  12. 信贷风控四:高校地址自动化识别
  13. 句法结构可视化工具(成分句法)
  14. 年产4000吨果味奶糖生产车间工艺设计
  15. eachart加单位
  16. org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Error processing
  17. 两化融合主要体现在什么方面
  18. 《奇点临近》奇点和六大纪元
  19. “全栈”:从AI开发者到AI工业家的首席关键词
  20. [笔记的明子] - C语言笔记

热门文章

  1. hadoop Shuffle Error: Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-out
  2. Oracle 移动数据文件的操作方法
  3. 保姆级教程 | TensorFlow-YOLOv3 从本地训练到服务器部署全过程
  4. StyleGAN进化过程详解
  5. Python爬虫中最重要、最常见、一定要熟练掌握的库
  6. 哥大首位华裔女校长:人工智能的春天来了
  7. 收藏 | 人脸检测之Retinaface
  8. 分布式训练PyTorch 源码解读
  9. 通用汽车研发中心最新提出:3D车道线检测新方法
  10. Python 中argparse模块的使用