函数基础?重名函数的危险?构造函数?

C语言新手必看:宏定义和函数参数重名引发的‘expected ‘,‘ or ‘...‘ before numeric constant’编译错误详解 本文详细解析了C语言中宏定义与函数参数重名引发的'expected ',' or '...' before numeric constant'编译错误,通过实例代码和预处理机制分析,提供了命名规范、技术解决方案及调试技巧,帮助新手有效避免此类常见错误。 阅读详情

函数基础?

var  fn1=function( ) {  }  指匿名函数,因为没有函数名鸭,即将匿名函数赋值给变量,执行变量函数就是执行这个匿名函数,且匿名函数不能在定义该函数之前执行,否则会报错。

function  fn2( ){  }普通函数,可以在定义之前调用该函数。

前面说过,js是解释性语言,在当前script标签内代码执行的开始阶段,若有普通函数,则会将普通函数(名)放入堆中,注意只是放入堆中,函数中的内容并没有解析执行,而是进行函数调用时即函数执行时,才会对函数里的代码块进行一次解析,调用一次解析一次。

不同script标签内的函数不能互调用,会报错,显示函数未定义。

 

重名函数的危险:

  1. 普通函数和匿名函数重名的话,匿名函数会覆盖普通函数,因为script标签在开始时就已经将函数放入堆中,而匿名函数是要代码执行或解析到匿名函数时才存入堆中,此时 如果名称相同,则会出现覆盖原函数
  2. 普通函数和变量重名,变量会覆盖普通函数

构造函数?

构造函数定义函数,使用全字符串,参数在最前面,后面的字符串内容是执行代码的语句

缺点:代码会做2次执行,第一次会将函数中的字符串解析成普通代码

第二次执行该代码,因此效率极低

优点:可以用任何语言来传入该js代码并执行

var  fn4 = new Function(“a” , “console.log( a )”);  前面内容a是参数

fn4( 10 );

 

btn.onclick=function (){  } 该onclick匿名函数不要写了,替换成如下函数

btn.addEventListener(“click”, clickHandler);  //clickHandler不是匿名函数了

function clickHandler( e ){   }

 

( function( ){ console.log(“这是一个自执行函数”) } ) ( );   

//后面的括号是执行该函数的意思,自执行函数只能执行一次,执行完成后 再也找不到了,变成孤儿对象了(该孤儿对象是有引用的,不可被回收)

基于DPABI和SPM12的任务态fMRI分析笔记1——预处理 前言 原理简介 预处理 阅读详情

相关推荐

059、肤色还原专项调优:记忆色、颜色偏好建模与主观评价标准

文章摘要:肤色还原调优的技术挑战与实践经验 本文系统探讨了手机影像中肤色还原的技术难点与解决方案。通过实际案例揭示了肤色还原的本质是记忆色与颜色偏好的博弈,而非单纯的技术指标达标。文章详细分析了记忆色的三大特性(高饱和、地域差异、场景依赖)和颜色偏好的数学建模方法,提出了基于YCbCr/Lab空间的参数化模型和代价函数设计。在评价体系方面,强调主观评价的重要性,并分享了专家评审、用户调研、场景覆盖的三级验证方法。最后总结了实战中的关键经验,包括肤色检测优化、过渡处理、动态范围管理及视频/拍照差异策略。文章指

sundong_81的博客 250

普通函数名和匿名函数赋值变量名相同

普通函数名和匿名函数赋值变量名相同 // An highlighted block var sum = function(a,b){ console.log("进入匿名函数"); return a + b; }; function sum(num){ console.log("进入普通函数"); if(num === 1){ return 1; } return num + sum(num - 1); }; console.log(sum(10));

weixin_42327720的博客 283

1. 动手开发第一个 SAP CDS View

在开始学习前,大家需要根据这篇文章介绍的步骤,在自己本地电脑上,把 ABAP Development Tool 安装好。右键单击这个添加好的 ABAP 开发包,选择新建一个 ABAP Repository Object,类型就选择。,就可以像在 SAPGUI 里使用 SE16 那样,查看这个 CDS View 的内容。笔者下一篇文章,会详细介绍我们创建的第一个 CDS View 的每一行代码的详细含义。从本文开始,正式进入 CDS View 开发的学习。的条件,然后点击 Run 重新执行,得到结果。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1271

C语言中的函数重名问题和解决方法

什么是函数重名问题? 在实际工作中,一个产品的代码是很复杂的,需要分层

weixin_42031299的博客 1万+

图神经网络实战——利用节点回归预测网络流量

在机器学习中,回归指的是对连续值的预测。通常与分类形成鲜明对比,分类的目标是找到正确的类别(即离散值,而非连续值)。在图数据中,分类和回归分别对应于节点分类和节点回归。在本节中,我们将尝试预测每个节点的连续值,而非分类变量。

盼小辉丶的博客 1万+

YOLO项目部署:从Python脚本到Docker容器的企业级交付全流程

YOLO模型企业级Docker部署方案 核心挑战 环境一致性:解决"本地能跑,服务器崩掉"问题 可扩展性:支持单实例到多实例扩展 稳定性:确保99.9%可用性 部署流程 项目改造:模块化代码,分离配置 Docker镜像:支持CPU/GPU环境 API服务:封装推理逻辑 监控告警:实现自动化运维 技术方案 需求 解决方案 环境一致性 Docker镜像+依赖冻结 可扩展性 K8s+负载均衡 稳定性 健康检查+自动重启 项目结构 模块化代码组织 外部化配置管理 精确依赖版本控制 摘要重点:通过

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1230

matlab中变量名与函数名相同时程序有危险

下面程序有误: clear clc max = max(3, 5); max = max(1, 2);         应改为: clear clc max1 = max(3, 5); max2 = max(1, 2);

认知 行动 坚持 1万+

【项目实战】主流车载操作系统,QNX实时操作系统入门介绍

QNX是一种实时操作系统,自1980年代初期由Quantum Software Systems成立以来,已被广泛应用于各种行业和领域。QNX具有实时响应、高可靠性和分布式等特点,为各种设备提供了强大的底层操作系统平台。随着科技的不断发展和进步,QNX系统的应用范围和潜力也在不断扩大。本文将全面介绍QNX系统,包括其引言、背景、系统特性、应用领域和生态系统等方面。QNX作为一种实时操作系统,具有高效的实时性能、高可靠性、分布式、可剪裁性和可扩展性等特点。它在各个领域都有广泛的应用,并拥有一个庞大的生态系统。

奶爸的编程之路,也就一周冷个三天 3071

信号重名+信号参数为自定义类型+connect函数第五个参数

若信号的参数为自定义类型。在发送信号之前,需要先将这个自定义类型注册,然后信号绑定的槽函数才能获取到信号参数里的携带的值//注册的接口//模板参数就是自定义类型//参数就是自定义类型的类名(字符串类型)

sc_o_r_pio的博客 758

学Simulink——基于高渗透率可再生能源微电网的逆变器系统场景实例:含高比例逆变型电源的微电网暂态稳定性分析

本文详细介绍了基于MATLAB/Simulink的高渗透率可再生能源微电网建模方法,重点分析含高比例逆变型电源的微电网暂态稳定性问题。通过构建包含光伏、风电、逆变器和电网等模块的系统模型,展示了从项目创建、模块搭建到控制策略实现的完整过程。文章特别提供了逆变器PQ控制算法和故障处理逻辑的代码示例,并介绍了仿真参数设置与结果分析方法。该模型能有效评估微电网在故障条件下的动态响应特性,为优化逆变器控制策略提供依据,对现代智能电网研究具有重要意义。

xiaoheshang_123的博客 140

Android 15.0 添加自定义服务,并生成jar给第三方app调用

在15.0系统ROM产品定制化开发中,由于需要新增加自定义的功能,所以要增加自定义服务,而app上层通过调用自定义服务,来调用相应的功能,所以系统需要先生成jar,然后生成jar 给上层app调用,接下来就来分析实现的步骤,然后来实现相关的功能 从而来实现所需要的功能

安卓兼职framework和app工程师的博客 668

动态链接符号重名:静默覆盖机制、可见性防线与三模块检测方案

摘要: 动态链接中的符号重名问题可能导致函数调用时执行错误的实现,且无任何报错,危害极大。作者通过三个真实案例(如wifi_get_status()、reboot()等函数被静默覆盖)说明其隐蔽性:动态链接器会优先加载首个同名符号,其余被忽略。相比静态链接的报错机制,动态链接的静默覆盖更难排查,易引发量产风险。解决方案包括:1)符号可见性控制(static、-fvisibility=hidden减少暴露);2)构建期自动化检测(用readelf扫描全局符号表,发现重名立即阻断构建);3)规范命名(如加前缀)

dozenyaoyida的博客 372

史上最危险域名Corp.com,网络安全如何防范,中科信安给出回答

网络安全问题随着互联网迅猛发展,一直是个热度居高不下的话题,一旦出现了网络安全问题,一些私密的信息就会被别有用心之人利用起来,对己方造成巨大的损失。下面中科信安给带来一起案例,被称为史上最危险域名Corp.com. 2020年4月,微软收购了史上最危险域名 Corp.com,将其从知名域名投资者迈克·奥康纳(Mike O’Connor)手上买走,域名拍卖的起拍价格为170万美金,具体成交价格并未披露。 让我们一同走进Corp.com这个魔鬼域名,探求其到底有什么魔力,能引得互联网巨头公司和著名域名投资者为

Zkxa2020的博客 657

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

C++继承中的重名与构造析构:深入理解面向对象编程的核心机制

在面向对象编程中,继承是实现代码复用和多态性的关键技术。其核心原理在于子类可以继承并扩展父类的属性和方法,形成层次化的类结构。这一机制的技术价值在于提升代码的可维护性和可扩展性,是构建复杂软件系统的基石。然而,在实际工程实践中,继承会引入名字隐藏、构造顺序等复杂问题,直接影响内存管理和对象生命周期。特别是在多重继承和菱形继承等场景下,这些问题会变得更加突出,需要开发者深入理解C++对象模型。本文聚焦于C++继承中的重名问题和构造析构顺序这两个关键挑战,通过分析名字隐藏、虚函数重写、虚继承等机制,并结合Vis

weixin_30386713的博客 330

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

GBase 8a DDL 发布时的对象重名与替换风险

列增删改;别名调整;类型调整;where 条件变化;join 关系变化。我自己更关注的一点是,回滚不能只靠记忆。真正到现场时,至少要有变更前定义留档。

weixin_42145355的博客 240

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

2024年Web前端最全JavaScript从入门到精通之入门篇(二)函数和数组(3),2024年最新面试时答不上来怎么办

由于js是一种弱类型语言,在使用参数时需要注意以下两点参数类型:因为参数类型不能固定,如果是对外开放的函数参数,一定需要在代码中判断输入参数的类型初始化:在ES5中函数的参数不能设置初始化值,所以需要在执行代码时给他自定义一个默认的初始值;而在ES6中是可有初始化参数设置,直接可以使用,比如,参数type默认是"+"数据将无序的数据做有序的排列,存储在一个变量中原生JS中没有数组类型,原生JS中的数据可以存储多个不同类型的数据(弱类型)Array.isArray(arr) 是判断arr是否为数组。

2401_84435838的博客 1019

别再只把Jinja2当Flask模板了!用Python+Jinja2自动生成HTML报告和配置文件的保姆级教程

本文深入探讨Jinja2在Python自动化工作流中的工业级应用,突破其作为Flask模板引擎的传统认知。通过HTML报告生成、服务器配置管理等实战案例,展示如何利用Jinja2实现高效自动化,涵盖环境配置、性能优化、安全防护等最佳实践,帮助开发者解锁Python+Jinja2的全栈自动化潜能。

weixin_33739523的博客 585

Android定制权限重名引起的问题

Android定制权限重名引起的安全问题

wtyqm的专栏 3955

C++入门——缺省参数、函数重载、引用、内联函数、auto、nullptr

C++入门——缺省参数、函数重载、引用、内联函数、auto、nullptr

m0_72347646的博客 376

C语言函数基础笔记(把代码拆开写)

C语言函数基础摘要:函数是可重复使用的代码块,通过参数输入并返回结果。其优势包括代码复用、逻辑清晰和便于协作。函数三要素为定义(实现功能)、声明(告知编译器)和调用(使用函数)。C语言采用值传递参数,内部修改不影响外部变量。函数可返回一个值(void无返回值),需注意作用域(局部变量函数内有效,全局变量文件内有效)。递归需设置终止条件,避免栈溢出。常见错误包括返回局部变量地址、遗漏返回值等。建议通过编写小型函数(如判断闰年)来巩固概念,为后续学习指针传参打下基础。

2606_95280742的博客 200

JavaScript严格模式终极指南:为什么现代开发都离不开它

JavaScript严格模式(strict mode)是ECMAScript 5引入的重要特性,它为开发者提供了一种更安全、更严谨的代码执行环境。对于现代JavaScript开发来说,理解和使用严格模式已经成为必备技能。🚀 ## 什么是JavaScript严格模式? 严格模式是JavaScript的第二种运行模式,它采用更加严格的语法规则。同样的代码,在正常模式和严格模式中可能会有完全不同的

gitblog_00832的博客 326

全局变量的危险.md

全局变量的危险 ​ 对于新手来说,有一点非常讽刺,那就是当我们这些新手认为某些特性很有用而大量使用时,往往那些经验丰富的程序员都会非常谨慎的对待。像是全局变量,很多新手都非常喜欢(我倒是谈不上喜欢或讨厌),因为它的作用域是整个源文件,整个程序的各个部分都可以使用,于是我们就不需要将它们作为参数传递给函数。但是,就是因为程序中的各个部分都可以随意使用它,才使得全局变量存在很大的风险:假设这种情况,当...

Terminator1937的博客 389

Javascript基础(3)正则、JSON、函数简介

1.正则表达式: ①由模式和修饰符构成:/this/i this就是模式,i表示不区分大小写。这个作为搜索包含this字符串的正则 ②字符串可以用match()、search()和replace()方法来使用正则表达式: var str = "Visit Microsoft!"; var res = str.replace(/microsoft/i, "apple"

puppyand123的博客 504

C Study

下面的代码是危险的:char * p;scanf("&s", p); 因为指针没有初始化,它所指向的地址是随机的,在这个随机地址上存放东西是危险的,有可能覆盖掉重要的数据。应该是:char str[30], *p=str;scanf("%s", p);  在C语言中, 没有重载这个概念. 在一个可见域内, 函数不允许重名. 切记!  在C中,指针和数

Sysu_liny的专栏 712

using namespace std的一些说明

本文整理自网络。 0、概述    对于一个存在着标准输入输出的C++控制台程序,一般会在#include 的下一行发现一句话,using namespace std。这句话其实就表示了使用的标准库函数都是标准命名空间std中的函数。其作用就在于避免发生重命名的问题。 1. 关于namespace   C++引入了命名空间namespace主要解决了多个程序员在编写同一个项目中可能出现的函数等重名

GAMELOFT9----纸上得来终觉浅,绝知此事要躬行 732
上一篇: CSS新特性之scrollbar?
下一篇: 参数?
Halle!
博客等级 码龄7年 303粉丝 133原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值