js函数以及js函数表达式

js 立即调用的函数表达式如何写 如果不需要显示调用函数, 让这个函数在定义的时候就执行的话, 该如何写才可以呢,接下来将详细介绍实现步骤,感兴趣的朋友可以了解下 1.前言 函数需要先定义,后使用。 这基本上所有编程语言的一条铁的定律。 一般状况下, 我们需要调用一个JavaScript 函数, 基本的状况都是先定义, 然后再调用。 看一个例子 代码如下: 代码如下: <!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”> <html> <head> <meta http-eq 立即下载

一、声明与表达式的格式

1.1 声明式的格式:

函数声明: function 函数名(){}

例子:

function aaa(){}  // 函数声明

1.2 表达式的格式:

函数表达式: function 函数名(可写可不写)(){} : 分别代表:命名函数表达式,匿名函数表达式

例子:

var a = function aaa(){} // 函数表达式
var a = function(){} // 函数表达式
(function aaa(){}) // 函数表达式
~function aaa(){}
-function aaa(){}
+function aaa(){}
!function aaa(){}  

二、区别

2.1 函数表达式可以直接在后面加括号执行,而函数声明不可以。

也就是说,函数表达式可以通过直接加()来执行这个函数

如:

function aaa(){alert(1)}(); // 这是不可以的  

但是,如果是函数表达式

var a = function aaa(){alert(1)}(); // 可以的
~function aaa(){alert(2)}();  

2.2 函数表达式可以被提前解析出来

看下面例子:这两个例子中,执行结果的不一样,可以看出函数表达式是提前被解析出来的。
如果需要通过判断来调用不同函数(函数名相同),最好使用函数表达式

if(true){
    function aaa(){
        alert(1);
    }
}else{
    function aaa(){
        alert(2);
    }
}
aaa(); //2  
if(true){
    var a = function aaa(){
        alert(1);
    }
}else{
    var a = function aaa(){
        alert(2);
    }
}
a(); //1  

2.3 命名函数表达式跟匿名函数表达式的区别

看例子:

var a = function aaa(){
    alert(1);
    alert(typeof aaa); // 内部可以找到
}
a();
aaa(); // 外部找不到  
RISC-V内核移植实战:从零开始手把手实现RT-Thread上下文切换(附GD32VF103代码解析) 本文详细解析了在RISC-V架构上移植RT-Thread实时操作系统的核心步骤,重点聚焦于上下文切换机制的实现。通过对比ARM Cortex-M与RISC-V在中断处理和寄存器管理上的关键差异,并以GD32VF103开发板为例,手把手指导开发者完成libcpu抽象层适配、线程栈初始化以及三种上下文切换方式的代码编写与调试,为嵌入式开发者从ARM转向RISC-V平台提供了实战指南。 阅读详情

相关推荐

【OpenClaw 实战】Ubuntu 双机 Gateway + Node 部署全流程 + 所有常见坑(2026版)

如果你只是需要浏览器自动化、截屏、简单系统查询 →Node 模式够用,别折腾 exec。如果你需要 GOLD 运行任意 shell 命令、git、npm、自定义脚本 →必须升级成 Gateway。bind lan + pairing approve + token 统一。后续想玩多 Agent 团队,优先考虑双/多 Gateway + 聊天通道互发(社区已有不少成功案例)。欢迎评论区留言你的环境和报错,一起交流!

hampeter的博客 1547

JS中的函数表达式

1. 函数表达式的特征 2. 使用函数实现递归 3. 使用闭包定义私有变量

WINMI 4018

TCNOpen实现TRDP通信协议(源码编译运行测试)

概述 本文介绍了通过TCNOpen开源源码实现TRDP通信,包括源码下载,开发环境搭建,编译运行,测试。 Linux环境下编译运行TRDP (一) 下载CANOpen源码。 下载地址:https://sourceforge.net/p/tcnopen/trdp/HEAD/tree/ (二) 源码编译 下载源码解压过后,在根目录文件readme-makefile.txt有介绍源码的配置和编译方法。 在trdp/config目录下可以看到包含在linux环境下的编译配置文件LINUX_config;执行”m

fengweibo112的博客 9632

JavaScript高级程序设计第十章--- 函数(二)

第十章(二) 本章内容: 使用函数实现递归 使用闭包实现私有变量

weixin_40794404的博客 1139

android HTTPS未校验服务器证书漏洞修复

上述代码是重写了域名校验的逻辑,每个证书里携带的域名是不可更改的,如果证书是合法的证书签发机构签发的,并且域名是和你要请求的域名对的上的,基本上就能确认你访问就服务器地址就是要访问的服务器地址,这样才是安全的。上述代码就是重新了证书校验的逻辑,信任所有的证书,正确的逻辑是要校验证书是否是可信任的证书签发机构所认证的,如果不校验的话你虽然是用了https加密传输,只要你的客户端用户信任了其他的证书哪怕是非法的证书,一样能够请求通过,而这个证书的服务器就可以解密你的报文,拿到你的隐私信息了。

kyzycyey的专栏 2623

Dobot Magician机械臂二次开发指南:如何利用Python脚本和I/O接口实现自动化任务

本文详细介绍了Dobot Magician机械臂的二次开发方法,重点讲解如何通过Python脚本和I/O接口实现高级自动化任务。内容包括开发环境搭建、运动控制API解析、I/O接口应用以及典型场景实现,帮助开发者充分发挥Dobot Magician的潜力,适用于工业自动化、教育科研等领域。

weixin_26968079的博客 267

JS函数表达式

函数表达式 函数表达式是JavaScript中的一个强大且令人困惑的特性。定义函数有两种方式: 函数声明凡是 形如 function functionName(arg0,arg1,arg2){ //函数体 } 关于函数声明,一个重要的特征就是函数声明提升,即在执行代码前会先读...

chenjuangui5624的博客 482

高光谱图像处理和分析软件(包含雷尼绍Renishaw wdf 文件导入解析功能)

是一款基于微软windows操作系统的多传感器成像工具,用于处理和分析高光谱图像。它是一个模块化的系统,由一个基本的引擎,一个图形用户界面,一个化学计量工具箱和可选的用户提供的模块组成。它支持最重要的光谱成像技术,如UV/Vis、红外、拉曼、太赫兹、光发射/吸收和质谱。除此之外,还允许用户将高光谱图像与物理属性图和传统高分辨率彩色照片合并在一起 链接:https://pan.baidu.com/s/1ruQ5YSh5_ZS9wx_V3Q5Oow 提取码:qdx0 ...

业余程序员小徐的博客 8071

JavaScript函数表达式

在上面的代码中,我们使用了一个立即执行函数,它返回了一个数字序列。这个立即执行函数被定义为一个函数表达式,并且立即执行了。函数内部使用了一个循环来生成从1到100的数字,并将它们添加到一个数组中。JavaScript函数表达式是一种将函数赋值给变量的方式。函数表达式的灵活性使得 JavaScript 可以使用高级的编程技巧,比如闭包、立即执行函数等。利用函数表达式和立即执行函数可以生成一个1到100的数字序列。函数接受一个函数作为参数,并在函数体中调用了这个函数。在上面的例子中,将一个匿名函数赋值给变量。

猿码互联 845

Imatest-Dot Pattern

本文介绍了DotPattern模块测试方法,用于评估相机拍摄点阵图的表现。测试主要关注两点:色彩准确性(是否存在彩色噪点和杂边)和摩尔纹现象。测试步骤包括导入图片、选择分析区域、微调ROI、选择点状图类型和分析保存结果。测试结果包含横向色差、光学畸变和SMIATV畸变等数据,其中0.115%的色差值和0.004度的网格旋转角度表明相机表现良好,但-10.4%的SMIATV畸变显示存在明显桶形畸变。文章还提供了各项指标的具体解读标准。

weixin_64706696的博客 1351

Transformer时间序列预测-多变量输入-单变量输出+多变量输出,完整代码数据,可直接运行

Transformer时间序列预测-多变量输入-单变量输出+多变量输出,完整代码数据,可直接运行

9794

JavaScript的函数表达式

【1】在es6中对RegExp构造函数进行了一点改动 构造函数的参数分类 //第一种:第一个参数是字符串,第二个参数表示正则表达式的修饰符(flag) var regex = new RegExp('xyz', 'i'); // 等价于 var regex = /xyz/i; //第二种:参数是一个正则表示式,这时会返回一个原有正则表达式的拷贝,es5不予许这种情况下使用第二个flag参数,但es...

代码海中一粒米 1852

AI快速变现之路,AI视频创作

初期投入$3000(工具订阅+样片制作),重点攻克跨境电商和本地生活服务市场。关注2025年AIGC视频工具的API降价趋势(如Pika企业版折扣可达50%),建议与云服务商签订长期合作协议。

qq_29896351的博客 1981

JavaScript(js)函数声明与函数表达式的区别

在JavaScript中,函数是经常用到的,在实际开发的时候,我想很多人都没有太在意函数的声明与函数表达式的区别,但是呢,这种细节的东西对于学好js是非常重要的。 函数声明与函数表达式用代码写出来是这样的: ```javascript //函数声明 function say(){ console.log("函数声明") } //函数表达式 var say1 = function(){ ...

全栈学习笔记的博客 848

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

JS函数、函数表达式、阶乘

JS函数、函数表达式 1、函数的定义 函数的作用:在出现大量程序相同的时候,就可以封装一个函数,让程序可以重复利用,提高效率 函数的定义:通俗的说,函数就是像是css的类名一样,在书写类里面的样式的时候,其实就相当于函数的定义,类名的多次调用,就是函数的调用; /* 先定义再执行 */ function fn(){ alert('小明'); } /* 函数的调用 函数名() f...

不凡乃大的博客 1734

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

JS中的函数声明和函数表达式

JS中的函数声明和函数表达式 1. 函数声明定义一个具有指定参数的函数 函数声明提升, 函数声明在JS解析时进行函数提升,因此在同一个作用域内,不管函数声明在哪里定义,该函数都可以进行调用 hoisted(); // logs "foo" function hoisted() { console.log('foo'); } 2. 函数表达式function 关键字可以用来在一个表达式中定义一个函数 函数表达式提升, JavaScript中的函数表达式没有提升,不像函数声明,你在定义函数表达式

小火车况且况且况且的博客 1546

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

js之函数表达式

函数表达式的特征 函数表达式是js中一种既强大又容易令人困惑的特性。定义函数的方式有两种:一种是函数声明,另一种是函数表达式. function functionName(arg0,arg1,arg2){ // 函数体 } console.log(functionNa...

weixin_30788731的博客 141

JS中应优先书写函数声明还是函数表达式?

近期,笔者阅读了公司新制定的前端代码规范,发现其中有些内容适用范围在 ES6 出现之前,对于当下的 JS 开发环境来说,有些明显不适应了,比如关于在函数体定义时,到底应该优先使用函数声明还是函数表达式呢?代码规范中的描述首先我们先明确在 JS 中,什么是函数声明,什么是函数表达式。JS 中,函数声明和函数表达式都是用来定义函数的。函数声明是独立的语法结构,是单独存在的。但是函数表达式是作为表达式的一部分存在的。函数声明定义了一个具名的且不需要赋值的“函数变量”,它是独立的语法,只能用在全局和函数体内。...

似水流年的博客 927

JS中的函数、函数表达式以及回调函数

一、函数、函数表达式、回调函数 1、函数: function say(){ console.log("哈哈哈哈哈哈!") } 注:Javascript引擎在解析javascript代码时会‘函数声明提升’(Function declaration Hoisting)。也就是说我函数可以先调用后声明,但是js引擎在执行js代码时会自动先去寻找代码中的函数先执行。 2、函数表达式: 1、function (){ console.log("hello world") } 2、var.

T Lai 655

js的函数声明和js的函数表达式的区别

a(); b(); //函数声明可以使函数的调用在函数之前提前调用 function a() { console.log("a"); } //函数表达式必须在编译器读取完函数表达式后才能调用函数 var b=function () { console.log("b") } //函数声明的自执行必用()将函数声明括起来后自执行 (function a() { con...

小柒的博客 2816

JavaScript 函数和函数表达式

文章目录JavaScript 函数声明一个函数调用函数示例 1:显示文本函数形参示例 2:带形参的函数示例 3:两数相加函数返回值示例 4:两数之和使用函数的好处函数表达式参考文档     在本教程中,您将借助示例了解 JavaScript 函数和函数表达式。 JavaScript 函数     函数是执行特定任务的代码块。     假设您需要创建一个程序来创建一个圆圈并为其着色。您可以创建两个函数来解决此问题: 一个画圆的函数 给圆上色的函数     将一个复杂的问题分成更小的块使您的程序易于理解和可

运维狗的备忘录 717

js函数表达式

函数表达式(Function Expressions)是JavaScript中定义函数的一种方式,它允许你将函数作为一个值赋值给变量、传递给其他函数或在其他表达式中使用。函数表达式与函数声明的主要区别在于,函数表达式不会被提升(hoisting),这意味着它们必须在定义之后才能被调用。函数表达式在JavaScript中广泛用于回调函数、立即调用的函数表达式(IIFE)、闭包等场景。这些示例展示了函数表达式在不同上下文中的使用方式及其灵活性。)主要用于在函数内部递归调用。具名函数表达式中的名称(如。

一休 386

JavaScript中的函数表达式

在JavaScript中,函数是个非常重要的对象,函数通常有三种表现形式:函数声明,函数表达式和函数构造器创建的函数。 本文中主要看看函数表达式及其相关的知识点。 函数表达式 首先,看看函数表达式的表现形式,函数表达式(Function Expression, FE)有下面四个特点: 在代码中须出现在表达式的位置 有可选的函数名称 不会影响变量对象(VO) 在代码执行阶...

161

JavaScript 函数表达式

1.定义   所谓函数表达式,就是指将一个函数(一般指匿名函数)赋值给一个变量(注:不存在函数提升)   (1)匿名函数      指没有函数名的函数     (a)函数表达式 let test = function(a,b){ console.log(a+b) }; test(3,5);     (b)命名式函数表达式      将一个有函数名的函数...

abc1980110的博客 140

揭秘 JavaScript 函数表达式

赋值给变量的函数称为函数表达式。如果您还没有阅读过 JavaScript 中的函数,我建议您在继续阅读之前先阅读本文。让我们试着借助一个例子来理解函数表达式。 var counter = 0 var incrementCounterAndPrint = function () { counter++; console.log("Incremented Counter", counter); } incrementCounterAndPrint() 当...

jeans5201的博客 195

javascript函数声明和函数表达式

JavaScript中定义函数最常用的方式是函数声明和函数表达式。这两种技术非常相似,有时甚至难以区分,但在后续章节中可以看到,它们之间还是存在着微妙的区别。 JavaScript定义函数最基本方式是函数声明,如下图:正如你所见,每个函数声明以强制性的function开头,其后紧接着强制性的函数名,以及括号和括号内一列以逗号分隔的可选参数名。函数体是一列可以为空的表达式,这些表达式必须包含在花括...

且听真言 1526
上一篇: 使用maven插件反向映射generatorConfig.xml生成代码
下一篇: JS中的事件委托
hp柠檬茶
博客等级 码龄11年 2粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值