当前位置:网站首页>js中的函数
js中的函数
2022-07-31 05:11:00 【杂乱无章的我】
JavaScript中的函数也是一个对象,函数中可以封装一些功能(代码),在需要时可以执行这些功能(代码)。函数中可以保存一些代码在需要的时候调用。
函数function:
- 函数也是一个对象,函数中可以封装一些功能,需要时可以执行这些功能。
- 函数中可以保存一些代码在需要时调用,使用typeof检查一个函数对象时,会返回function。
创建一个函数对象,可以将要封装的代码以字符串的形式传递给构造函数。封装到函数中的代码不会
立刻执行,函数中的代码会在函数调用时候执行。
调用函数语法:函数对象()
如:var fun = new function(){console.log(1)};
fun()
输出结果为1;
调用函数时,函数中封装的代码会按照内部代码顺序执行。创建函数:使用函数声明、函数表达式来进行创建:
函数声明语法:
function 函数名([形参1,形参2....形参n]){
语句...
}
使用函数表达式来创建一个函数
var 函数名 = function([形参1,形参2....形参n]){
语句....
}函数的形参与实参:
函数的形参:
可以在函数的()中来指定一个或多个形参(形式参数)。多个形参之间使用,隔开。
声明形参就相当于在函数内部声明了对应的变量。但是并不对其赋值。如:
function sum(a,b){console.log(a+b);}等价于
function sum(a,b){var a; var b ;console.log(a+b);}
在调用函数是,可以在()中指定实参(实际参数)。实参将会赋值给函数中对应的形参。如:
sum(1,2) 其中a,b均为形参。1,2均为对应的实参。
调用函数是解析器并不会检查实参的类型。所以在使用时需要检查一些非法的参数。
调用函数时,解析器也不会检查实参的数量。如sum(1,2,h,o)。
在使用过程中,多余的实参将不会被赋值。
如果实参的数量小于形参的数量,则没有对应实参的形参将是undefined立即执行函数:
函数对象()
立即执行函数,函数定义完,立即被调用,这种函数叫做立即执行函数。
立即函数往往只会执行一次。如:
(function(a,b){
console.log("a="+a);
console.log("b="+b);
})(1,2);
输出结果为a=1,b=2。方法:
对象的属性可以为任何值,同样也可以为函数。如果将一个函数作为一个对象的属性保存,那么我们称这个函数是这个对象的方法,调用这个函数就说调用这个对象的方法(method)。这只是名称上的改变。它与其他的函数并无区别。
边栏推荐
- 数据库 | SQL增删改查基础语法
- 2021面经-拥抱变化
- 闭包(二)
- Redis:安装使用
- [Cloud Native] What should I do if SQL (and stored procedures) run too slowly?
- 正则表达式基础知识
- 【Elastic-Job源码分析】——作业监听器
- For penetration testing methods where the output point is a timestamp (take Oracle database as an example)
- 永恒之蓝漏洞复现
- 【ubuntu20.04安装MySQL以及MySQL-workbench可视化工具】
猜你喜欢

永恒之蓝漏洞复现

leetcode-每日一题1217. 玩筹码(贪心+位运算)

阿里一面,说说你知道消息中间件的应用场景有哪些?

数据库 | SQL增删改查基础语法

Volatility取证工具使用日记
![[Cloud Native] What should I do if SQL (and stored procedures) run too slowly?](/img/40/be3a30743ee2bc6c82f82ab852f29c.png)
[Cloud Native] What should I do if SQL (and stored procedures) run too slowly?

DeFi Token in the project management

What is GameFi?

MySql创建数据表

The feign call fails, JSON parse error Illegal character ((CTRL-CHAR, code 31)) only regular white space (r
随机推荐
03 【数据代理 事件处理】
永恒之蓝漏洞复现
闭包(五)----一个常见的循环
Error: Cannot find module ‘D:\Application\nodejs\node_modules\npm\bin\npm-cli.js‘
MySQL压缩包方式安装,傻瓜式教学
C language tutorial (3) - if and loop
"limit" query in Oracle database
元宇宙的前景及四大赛道
闭包(二)
Year-end summary - the years are quiet~
leetcode-每日一题1217. 玩筹码(贪心+位运算)
阿里一面,说说你知道消息中间件的应用场景有哪些?
[swagger close] The production environment closes the swagger method
Redis:安装使用
[Ubuntu20.04 installs MySQL and MySQL-workbench visualization tool]
The MySQL database in Alibaba Cloud was attacked, and the data was finally recovered
leetcode-2321. 拼接数组的最大分数(差分+枚举)
MySql创建数据表
vulhub靶场学习日记SickOs1.2
解决响应式数据依赖响应式数据无响应问题