网站首页 > 技术文章 正文
unction 是 js 的标识符
Function 是 js 里面的一个 构造函数
1、new function 与 new Function 的区别
new 运算符在 js 里面是 创建一个自定义的对象的实例 或者是 一个具有构造函数的本地对象
语法:new constructor [ ( [ arguments ] ) ]
new function() {......} 初始化一个可操作对象,相当于 new function 匿名函数() {......}
new Function('参数', '函数体') 是实例化一个函数,相当于 function 函数名() {......}
2、立即执行函数 ( function(){...} () ) 和 ( function(){...} )()
// 1、 // 定义一个命名函数 a 并调用,正常运行 function a(){}a() // 2、 // 2 假设使用匿名函数的方式呢? function (){}() //这种方式会报错:Uncaught SyntaxError: Unexpected token ( // 3、 //按到如上思路测试,寻找 2 报错的原因 function () {}//前端全栈交流学习圈:866109386 // 3 会报错,与 2 报错相同:Uncaught SyntaxError: Unexpected token ( // 4、 (); // 4 会报错:Uncaught SyntaxError: Unexpected token ) // 5、 (1); // 5 不会报错正常运行 // 6、 (function(){}); // 6 不会报错正常运行
可以看出,上述现象报错的原因都是:语法错误。究其原因发现是因为 ()运算符的优先级函数调用,而 () 运算符的括号内必须有表达式,否则就会有语法错误。
因此可以用 (function(){})() 的形式定义一个自调用的匿名函数
//1、 (1+2)(5+6); //在进行如上表达式运算的时候,会报错:Uncaught TypeError: 3 is not a function,也就是说如果第一个表达式是一个 function 的话,就会正常运行。 //2、所以在保证整个运算为表达式运算的情况下,第一个子表达式为 function,则得出如下写法 (function(){}()); // 2 正常运行不会报错 // 3、因此可以得出如下写法也都是正确的 !function(){}; +function(){}; -function(){}; ~function(){}; ......
对前端的技术,架构技术感兴趣的同学关注我的头条号,并在后台私信发送关键字:“前端”即可获取免费的架构师学习资料
知识体系已整理好,欢迎免费领取。还有面试视频分享可以免费获取。关注我,可以获得没有的架构经验哦!!
猜你喜欢
- 2024-09-18 Python的GitHub核心资源库token意外曝光
- 2024-09-18 了解 JWT,JSON Web Token(JWT)是一个非常轻巧的规范
- 2024-09-18 电脑控制手机 易语言实现颜色识别功能
- 2024-09-18 Postman 的高效使用技巧,你知道吗?
- 2024-09-18 PlusToken转移2,631万个EOS,原账号仅剩余了350个EOS
- 2024-09-18 freeswitch修改mod_sofia模块并上报自定义头域
- 2024-09-18 鉴权必须了解的 5 个兄弟:cookie、session、token、jwt、单点登录
- 2024-09-18 SpringSecurity和JWT实现认证和授权
- 2024-09-18 电脑自动安装卸载手机软件-快来Get最简单便捷的方法
- 2024-09-18 使用 Express 和 Node.js 进行电话身份验证
- 1512℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 556℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 505℃MySQL service启动脚本浅析(r12笔记第59天)
- 482℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 481℃启用MySQL查询缓存(mysql8.0查询缓存)
- 462℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 441℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 438℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- c语言min函数头文件 (68)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)