位置: 编程技术 - 正文

javascript Function函数理解与实战

编辑:rootadmin

推荐整理分享javascript Function函数理解与实战,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

Function函数是javascript的基础也是实现功能的一个引爆点,我们通过实例分析让你对Function函数有一个更加深刻的理解以及在实际中的用法讲解。

Function 确实是一个对象.而我们定义的任何一个函数其实都是Function 对象的一个实例,也可以理解为指向 Function 对象的一个实例.

既然是对象的一个实例,那肯定指向了Function 类型的一个引用. 既然指向了一个引用类型的内存地址,那你也可以简单的把我们定义的函数理解为一个变量,这个变量指向了一个引用类型的地址,这个地址指向了Function 对象的一个实例.

既然我们定义的函数其实是一个变量,那这个函数实例地址可以同时指向多个变量.

看下面的代码:

var add = new Function("n", "m", "return n + m");

上面是标准的函数定义,调用了Function对象的构造函数,这个构造函数把前面的N个参数都默认为新函数的参数,直到最后一个参数认为是新函数的函数体.

从上面的语句中非常直观的看到 add这个变量指向了一个Function 类型的实例,但是这种命名方法非常繁琐,等价于:

(1)函数表达式

(2)函数申明

由于javascript语言中的申明提前,所以一版提倡用第二种方法定义函数,关于函数申明提前单独开辟一篇来说

但是第一种定义方法让人很直观看到 add 是一个指向函数实例的一个变量.

既然是一个变量,就可以赋值给其他变量,可以当做参数在函数中传递,也可以从函数返回.

javascript Function函数理解与实战

所以 var add2=add3=add; 现在 三个变量都指向了这个实例的引用, 现在 add=null; 以后 add2,add3 俩个函数完全可以使用不受影响,因为add 移除函数对象的引用后指向了null的引用.所以根本不影响add2 和 add3 两个函数.

所以函数可以当做其他函数的参数传入.

所以函数可以当做函数的返回值返回.

因为函数名只是一个指向函数实例的变量,所以javascript中函数不会有 重载,因为相同的变量指向的是相同的引用地址.最后表示的还是同一个函数.

函数既然是对象的实例,那么就应该有属性,就应该有方法.所以javascript中的 函数有属性也有方法.

比较重要的4个属性 arguments , this , length , prototype

arguments 表示当前函数的参数类数组,这个属性很特殊,他自己还有个属性叫 callee ,

arguments.callee 属性保存了一个指针,指针指向了拥有此 arguments 属性的函数实体(也就相当于函数名)

this属性是当前环境,类似与C# 中的this,表示当前上下文

length 属性表示当前函数接收最大参数个数

prototype 表示该函数的原型,也就是把对象实例的方法完整的保存下来,换句话说就是原型上的方法都继承下来了.比如 toString() valueOf() 等.

接下来,我们来看看function函数种类

普通函数:介绍普通函数的特性:同名覆盖、arguments对象、默认返回值等。

匿名函数:介绍匿名函数的特性:变量匿名函数、无名称匿名函数。

闭包函数:介绍闭包函数的特性。

如何让你的JS代码更好看易读 作为JS程序员,自己写的代码如果好看易读,不只是自己看起来好看,在别的程序员接手以后,也会是交接工作异常顺利。不要在代码中留大段注释掉的

基于js 字符串indexof与search方法的区别(详解) 1.indexof方法indexOf()方法可返回某个指定的字符串值在字符串中首次出现的位置。语法:注意:有可选的参数(即设置开始的检索位置)。2、search方法sear

浅析四种常见的Javascript声明循环变量的书写方式 Javascript中的循环变量声明,到底应该放在哪儿?习惯1:不声明直接使用functionloop(arr){for(i=0;iarr.length;i++){//dosomething}}非常危险的使用习惯,一般情况下

标签: javascript Function函数理解与实战

本文链接地址:https://www.jiuchutong.com/biancheng/368473.html 转载请保留说明!

上一篇:详谈DOM简介及节点、属性、查找节点的方法(简述dom的组成)

下一篇:如何让你的JS代码更好看易读(怎么对js代码程序进行设计)

  • 固定资产处置营业外收入和发票金额不一致
  • 运输费用的增值税税率
  • 账面价值与计税基础之间没有差别只是计价的两种名称
  • 有限公司能变更为个体工商户
  • 怎么增加资产减少负债
  • 个人专项扣除需要扣税吗
  • 纳税人少缴税款,税务机关发现之日怎么算
  • 交易性金融资产有哪些
  • 建安行业外地预缴工会经费
  • 年末企业盈利有什么影响
  • 计提工资后发放时结转到什么科目
  • 哪些税费计入应缴税费
  • 专家评审费如何报销费用
  • 个体户国税定额开发票60000元地税要交多少钱?
  • 不能抵扣的进项税怎么做账
  • 企业卖固定资产
  • 应交增值税是否影响企业利润
  • 过路过桥费电子票验证
  • 红冲发票显示发票状态不正常
  • 会计里面红字冲销是什么意思
  • 小规模纳税人能抵扣进项发票吗
  • 增值税一般纳税人认定标准
  • 固定资产清理会计处理例题
  • 用于非应税项目的购进货物或应税劳务
  • 新版edge浏览器如何恢复设置
  • 差旅费津贴可以扣除吗
  • 各类预算的内容及其相互关系
  • 销售自己使用过的物品的税率
  • 冲销上月计提费用
  • 捐赠支出算期间费用吗
  • php从数据库中读取数据
  • thinkphp技巧
  • 分次预缴税额怎么算
  • 逾期增值税扣税凭证抵扣管理办法
  • Thinkphp 中 distinct 的用法解析
  • 会计凭证作用的说法中不正确的是
  • bg命令 将作业放到后台运行
  • 固定资产多少钱以上才要计提折旧
  • 购物赠品的相关法律
  • 企业为什么一定要签三方
  • 为什么印花税不算应交税费科目
  • 织梦网站怎么添加关键词
  • 保理属于什么行业分类
  • 发票上没有数量可以吗
  • 安置房是交付的时候交钱吗
  • 股东退股按什么退钱
  • SQL Server 2008 R2占用cpu、内存越来越大的两种解决方法
  • 无票收入是怎么算的
  • 公司员工入职的心得体会
  • 物业公司代收水费合理吗
  • 公允价值变动损益
  • 因质量问题对方直接扣款也不开票
  • 民办非企业单位免税
  • 存货换入无形资产账务处理
  • 差旅费包干管理办法
  • 房地产开发企业建造的商品房,在出售前
  • 进项税额允许抵扣分录
  • sql server常用管理工具中,用于访问
  • 怎么用u盘装驱动
  • windows内核版本9600
  • win7系统打开网络看不到其他电脑
  • 进程mmc.exe
  • win7系统怎么给文件夹设置密码
  • 红石id
  • [置顶]JM259194
  • cocos2d android
  • Begin OpenGL with Python-1st Day,draw a simple sample.
  • 如何解决焦虑的心理
  • 从零开始的基础篇
  • JavaScript弹出窗口
  • js基础教程
  • webpack循环引用
  • jquery easyui datagrid实现增加,修改,删除方法总结
  • 原单位已交社保,新单位怎么办
  • 个人进口关税税率
  • 移动退订业务怎么恢复
  • 税控盘开票怎么赋码的教程
  • 铁路检察院和普检哪个好
  • 出口增加为什么汇率会增加
  • 两会热点有哪些呀?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设