JavaScript中函数 function=>对象

news/2024/7/11 1:28:53 标签: html5, jquery, javascript, ajax, typescript, ecmascript, vue.js

1函数:function

对象的本质就是用来储存数据的(容器—塑料袋)

在JS中有很多很多很多种不同的对象,用来存放不同的数据

函数(function)也是一个对象!

和object不同,函数是专门用来存储代码的对象,

可以将一组代码存储到一个函数对象中,并且在需要时对函数进行调用

以使其存储的代码执行

// 打印一个你好

{

console.log('你好!');

console.log('Hello!');

console.log('扣你鸡娃!');

console.log('阿尼哈撒由!');

}

//创建一个函数对象

语法:

function 函数名字(){

语句...

}

// 创建了一个fn函数

// 存储到函数中的代码,是不会自动执行的

function fn(){

console.log('你好!');

console.log('Hello!');

console.log('扣你鸡娃!');

console.log('阿尼哈撒由!');

}

//需要对函数进行调用,代码才会执行

//调用语法:函数对象()

fn();

// console.log(fn);

2创建函数的两种方式:

// 函数就是一个用来存储代码的对象

创建函数的两种方式:

1.函数声明

function 函数名(){

语句...

}

2.函数表达式

var 变量 = function(){

语句...

};

1. function fn() {

console.log('hello!');

}

2. var fn2 = function() {

console.log('你好!');

};

//调用函数

// fn();

fn2();

3函数声明—形参:

// 创建一个函数,使其可以求任意两个数的和

function sum(a, b) {

console.log(a + b);

}

// sum(123, 456);

// sum(true, 456);

// sum('hello', 456);

在定义函数时,可以在()中指定数量不等的形参(形式参数)

定义形参就相当于在函数中声明了两个变量,但是没有赋值

function fn(a, b) {

console.log('a =', a);

console.log('b =', b);

}

调用函数时,可以在()传递数量不等的实参(实际参数)

实参会赋值给其对应的形参

JS中不会检查实参的类型和数量

- JS的实参可以使任意的数据类型

- JS中函数调用时可以传递任意数量的实参

如果实参的数量等于形参,则实参和形参一一对应

如果实参的数量多于形参,则多于的实参将不会被使用

如果实参的数量小于形参,则没有实参对应的形参将会赋值为undefined fn({},{});

// fn();

4函数返回值:

//定义一个求任意两个数和的函数

// 在定义形参时,可以在参数后为其指定默认值

// function sum(a=10, b=3) {

// console.log(a + b);

// // console.log('a =',a)

// // console.log('b =',b)

// }

// sum(7, 8);

function sum(a, b) {

// 目前来讲,a+b的结果在函数中直接被打印到了控制台里

// console.log(a + b);

// var result = a + b;

// 在函数中,可以通过return来设置函数的返回值

// return 值; return后的值就会成为函数的返回值

// return 后可以跟任意类型的值

// return 后也可以不跟任何值,这样相当于return undefined

// return 一旦执行,函数立即结束,换句话函数中return后的代码全都dead code

// return a + b;

return;

// 以下代码永远不会执行

console.log('hello');

console.log('你好');

}

var a = sum(33, 44);

console.log(a);

5 立即执行函数:

// 向如下这种函数,会在创建后立即执行,并且只能调用一次

// 这种函数被称为立即执行函数(IIFE)

(function(){

console.log('hello');

})();

// function fn() {

// console.log('你好');

// }

// fn();

6小总结: // break; continue;/ return:

function fn() {

console.log('fn开始执行了~~~~');

for(var i=0; i<5; i++){

if(i === 2){

// break; 结束从当前往后的语句,

//continue 结束当次语句,跳过当次语句,后面继续执行

// return; 结束整个函数,往后的都不执行

}

console.log('\t循环执行--->',i);

}

console.log('fn执行结束了~~~~')

}

// fn();

// 连着写两个IIFE必须要以分号结尾

(function () {

console.log('函数1');

})();

(function () {

console.log('函数2');

})();

欢迎关注我的原创文章:小伙伴们!我是一名热衷于前端开发的作者,致力于分享我的知识和经验,帮助其他学习前端的小伙伴们。在我的文章中,你将会找到大量关于前端开发的精彩内容。

学习前端技术是现代互联网时代中非常重要的一项技能。无论你是想成为一名专业的前端工程师,还是仅仅对前端开发感兴趣,我的文章将能为你提供宝贵的指导和知识。

在我的文章中,你将会学到如何使用HTML、CSS和JavaScript创建精美的网页。我将深入讲解每个语言的基础知识,并提供一些实用技巧和最佳实践。无论你是初学者还是有一定经验的开发者,我的文章都能够满足你的学习需求。

此外,我还会分享一些关于前端开发的最新动态和行业趋势。互联网技术在不断发展,新的框架和工具层出不穷。通过我的文章,你将会了解到最新的前端技术趋势,并了解如何应对这些变化。

我深知学习前端不易,因此我将尽力以简洁明了的方式解释复杂的概念,并提供一些易于理解的实例和案例。我希望我的文章能够帮助你更快地理解前端开发,并提升你的技能。

如果你想了解更多关于前端开发的内容,不妨关注我的原创文章。我会不定期更新,为你带来最新的前端技术和知识。感谢你的关注和支持,我们一起探讨交流技术共同进步,期待与你一同探索前端开发的奇妙世界!


http://www.niftyadmin.cn/n/5275936.html

相关文章

HarmonyOS应用开发实战—开箱即用的活动创建页面【ArkTS】【鸿蒙专栏-33】

一.HarmonyOS应用开发实战—开箱即用的个人主页页面【ArkTS】【鸿蒙专栏-32】 1.1 项目背景 HarmonyOS(鸿蒙操作系统)是华为公司推出的一种分布式操作系统。它被设计为一种全场景、全连接的操作系统,旨在实现在各种设备之间的无缝协同和共享,包括智能手机、平板电脑、智能…

Nodejs 第二十六章(反向代理)

什么是反向代理? 反向代理&#xff08;Reverse Proxy&#xff09;是一种网络通信模式&#xff0c;它充当服务器和客户端之间的中介&#xff0c;将客户端的请求转发到一个或多个后端服务器&#xff0c;并将后端服务器的响应返回给客户端。 负载均衡&#xff1a;反向代理可以根…

「Verilog学习笔记」游戏机计费程序

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 timescale 1ns/1nsmodule game_count(input rst_n, //异位复位信号&#xff0c;低电平有效input clk, //时钟信号input [9:0]money,input set,input boost,output reg[9:0…

【开源软件】最好的开源软件-2023-第四名 vaadin

自我介绍 做一个简单介绍&#xff0c;酒架年近48 &#xff0c;有20多年IT工作经历&#xff0c;目前在一家500强做企业架构&#xff0e;因为工作需要&#xff0c;另外也因为兴趣涉猎比较广&#xff0c;为了自己学习建立了三个博客&#xff0c;分别是【全球IT瞭望】&#xff0c;【…

JVM-7-经典垃圾收集器

Serial收集器 这个收集器是一个单线程工作的收集器&#xff0c;但它的“单线程”的意义并不仅仅是说明它只会使用一个处理器或一条收集线程去完成垃圾收集工作&#xff0c;更重要的是强调在它进行垃圾收集时&#xff0c;必须暂停其他所有工作线程&#xff0c;直到它收集结束。…

3A服务器 (hcia)

原理 认证&#xff1a;验证用户是否可以获得网络访问权。 授权&#xff1a;授权用户可以使用哪些服务。 计费&#xff1a;记录用户使用网络资源的情况 实验 步骤 1.配置ip地址 2.配置认证服务器 aaa authentication-scheme datacom&#xff08;认证服务器名字&#xf…

vmware离线安装docker-compose

vmware离线安装docker-compose 最近安装docker-compose&#xff0c;发现git取拉取&#xff0c;不是拒绝连接就是报443错误&#xff0c;或者其他错误 最后发现用包直接传上去好用&#xff0c;不用git拉取了 离线安装docker-compose 本文章给的docker-compose离线包&#xff0c;…

LCD12864(St7920/St7921)+超声波测距模块+STC89C52

/******************************************************************************/ /* 晶振&#xff1a;11.0592M */ /* 接线&#xff1a;模块TRIG接 P1.2 ECH0 接P1.1 …