JavaScript函数使用知识点回顾
JS函数本质更像一个对象,有属性和方法。
将函数定义作为对象的属性,则称之为对象方法;函数如果用于创建新的对象,则称之为对象的构造函数。
(1)JS使用关键字 function 定义函数。
函数可以通过声明定义,也可以是一个表达式。
function functionName( parameters){
//函数体,执行的代码
//函数体内的可执行语句以分号间隔
}
函数的声明语句不是可执行语句,所以不需要以分号结束。
函数只有在调用的时候才会执行。
函数表达式可以存储在变量中,该变量可以作为一个函数使用。这种情况的函数被称为 匿名函数 没有函数名称。
var x = function ( a,b ){ return a + b};
var z = x ( 4,3 );
(2)JS中还可以使用自带的函数构造器 Function( ) 进行定义。
var myFunction = new Function("a" , "b", "return a*b");
//构造函数中myFunction是对象形式
var x = myFunction(4,3);
在JS中很多时候需要尽量避免使用关键字 new ,上面的实例可以不适用构造函数,直接写成以下形式
var myFunction = function(a,b){ return a*b };
var x = myFunction(4,3);
函数提升:
提升是JS默认将当前作用域提升到前面去的行为,应用在变量的声明和函数的声明。因此函数可以在声明之前调用。(使用表达式定义函数时无法进行提升,作用域被表达式中的变量限定了)
myFunction(5);
function myFunction(y){
return y * y;
}
自调用函数:
函数表达式后跟 () ,则函数会自动调用。但是函数内的参数不能自调用声明的函数,一定要把这个和递归区分开。
(function (){
var x = "hello"; //我将调用自己
})(); //通过添加括号来说明这是一个函数表达式 (函数声明)()
有返回值的函数通常都可以当作一个值用于赋值或运算表达式中。
JavaScript函数使用知识点回顾的更多相关文章
- 私人定制javascript中函数小知识点
函数的定义 首先在javascript中,函数就是对象,程序可以随意操控它们.比如,可以给它们设置属性,甚至调用它们的方法.函数使用function关键字来定义.它既可以用在函数定义表达式,也可以用在 ...
- JavaScript正则表达式及jQuery回顾
JavaScript 正则表达式,用于规定在文本中检索的内容. 一.定义正则表达式: rep = /\d+/; // js定义正则.(python定义正则:re模块 rep = "\d+&q ...
- javascript数组的知识点讲解
javascript数组的知识点讲解 阅读目录 数组的基本方法如下 concat() join() pop() push() reverse() shift() sort() splice() toS ...
- JavaScript语言基础知识点图示(转)
一位牛人归纳的JavaScript 语言基础知识点图示. 1.JavaScript 数据类型 2.JavaScript 变量 3.Javascript 运算符 4.JavaScript 数组 5.Ja ...
- JavaScript语言基础知识点图示
原文:JavaScript语言基础知识点图示 一位牛人归纳的JavaScript 语言基础知识点图示. 1.JavaScript 数据类型 2.JavaScript 变量 3.Javascript 运 ...
- JavaScript函数之作用域 / 作用链域 / 预解析
关于作用域和作用链域的问题,很多文章讲的都很详细,本文属于摘录自己觉得对自己有价值的部分,留由后用,仅供参考,需要查看详细信息请点击我给出的原文链接查看原文件 做一个有爱的搬运工~~ -------- ...
- Java进阶(二十六)公司项目开发知识点回顾
公司项目开发知识点回顾 前言 "拿来主义"在某些时候并不是最佳选择,尤其是当自己遇到问题的时候,毫无头绪. 在一次实验过程中,需要实现数据库的CRUD操作.由于之前项目开发过程中, ...
- 浅谈JavaScript 函数作用域当中的“提升”现象
在JavaScript当中,定义变量通过var操作符+变量名.但是不加 var 操作符,直接赋值也是可以的. 例如 : message = "hello JavaScript ! " ...
- $Django Rest Framework-认证组件,权限组件 知识点回顾choices,on_delete
一 小知识点回顾 #orm class UserInfo (models.Model): id = models.AutoField (primary_key=True) name = models. ...
随机推荐
- React 为什么要把事件挂载到 document 上 & 事件机制源码分析
前言 我们都知道 React 组件绑定事件的本质是代理到 document 上,然而面试被问到,为什么要这么设计,有什么好处吗? 我知道肯定不会是因为虚拟 DOM 的原因,因为 Vue 的事件就能挂载 ...
- [RH134] 12-系统启动
1.系统启动流程 开机--->BIOS自检(需要检测的设备是否正常)--->磁盘的MBR分区--->BootLoader(引导加载器)加载内核--->识别各分区的文件系统 2. ...
- 机器学习——十大数据挖掘之一的决策树CART算法
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是机器学习专题的第23篇文章,我们今天分享的内容是十大数据挖掘算法之一的CART算法. CART算法全称是Classification ...
- 彻底搞懂 etcd 系列文章(二):etcd 的多种安装姿势
0 专辑概述 etcd 是云原生架构中重要的基础组件,由 CNCF 孵化托管.etcd 在微服务和 Kubernates 集群中不仅可以作为服务注册与发现,还可以作为 key-value 存储的中间件 ...
- 关于宝塔面板ftp+sublime
如果sublime通过ftp上传文件传不上去,我的问题在于应该把sftp-config.json中"remote_path": "/",设置成这样.一下午.哎呀 ...
- 一个小小的即时显示当前时间的jqurey控件
效果: <div class="nowTime"> <span></span>年 <span></span>月 < ...
- (八)postman请求的form-data、x-www-form-urlencoded、raw、binary的区别
原文链接:https://blog.csdn.net/jiadajing267/article/details/87883725 1.form-data 等价于http请求中的multipart/fo ...
- 从mysql数据库中查询最新的一条数据的方法
第一种方法 SELECT * from a where id = (SELECT max(id) FROM a); 第二种方法: select * FROM 表名 ORDER BY id DESC L ...
- Linux 虚拟机详细安装MySQL
准备工作 下载MySQL 去官网下载MySQL:点我直达 百度云盘地址:链接: https://pan.baidu.com/s/1qBN4r6t8gvq-I4CFfQQ-EA 密码: hei3 检查L ...
- springboot mybatis plus多数据源轻松搞定 (上)
在开发中经常会遇到一个程序需要调用多个数据库的情况,总得来说分为下面的几种情况: 一个程序会调用不同结构的两个数据库. 读写分离,两个数据结构可能一样高,但是不同的操作针对不同的数据库. 混合情况,既 ...