网站测速工具北京工装装饰公司排行榜
2026/4/14 2:32:57 网站建设 项目流程
网站测速工具,北京工装装饰公司排行榜,头像生成器在线制作软件,wordpress显示标签图片#x1f3ac; HoRain云小助手#xff1a;个人主页 #x1f525; 个人专栏: 《Linux 系列教程》《c语言教程》 ⛺️生活的理想#xff0c;就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站#xff0c;性价比超高#xff0c;大内存超划算#xff01;… HoRain云小助手个人主页 个人专栏: 《Linux 系列教程》《c语言教程》⛺️生活的理想就是为了理想的生活!⛳️ 推荐前些天发现了一个超棒的服务器购买网站性价比超高大内存超划算忍不住分享一下给大家。点击跳转到网站。专栏介绍专栏名称专栏介绍《C语言》本专栏主要撰写C干货内容和编程技巧让大家从底层了解C把更多的知识由抽象到简单通俗易懂。《网络协议》本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘一起解密网络协议在运行中协议的基本运行机制《docker容器精解篇》全面深入解析 docker 容器从基础到进阶涵盖原理、操作、实践案例助您精通 docker。《linux系列》本专栏主要撰写Linux干货内容从基础到进阶知识由抽象到简单通俗易懂帮你从新手小白到扫地僧。《python 系列》本专栏着重撰写Python相关的干货内容与编程技巧助力大家从底层去认识Python将更多复杂的知识由抽象转化为简单易懂的内容。《试题库》本专栏主要是发布一些考试和练习题库涵盖软考、HCIE、HRCE、CCNA等目录⛳️ 推荐专栏介绍JavaScript 函数调用1. 函数的4种调用方式(1) 作为普通函数调用(2) 作为对象方法调用(3) 使用构造函数调用使用new关键字(4) 使用call()和apply()方法调用2. 参数传递机制3. 函数调用的注意事项(1) 参数处理(2) 返回值(3) 函数提升(4) 箭头函数的限制4. 实际应用示例(1) 函数作为回调函数(2) 递归函数(3) 使用call/apply改变this指向5. 最佳实践JavaScript 函数调用JavaScript 函数有4种主要调用方式每种方式的this指向不同。以下是详细说明1. 函数的4种调用方式(1) 作为普通函数调用function myFunction(a, b) { return a * b; } myFunction(10, 2); // 返回 20this指向全局对象在浏览器中是window对象特点最常用方式但不是良好编程习惯容易造成命名冲突注意在HTML页面中函数会自动变为window对象的函数(2) 作为对象方法调用var myObject { firstName: John, lastName: Doe, fullName: function() { return this.firstName this.lastName; } } myObject.fullName(); // 返回 John Doethis指向调用该方法的对象myObject特点函数属于对象this指向对象本身(3) 使用构造函数调用使用new关键字function MyFunction(arg1, arg2) { this.firstName arg1; this.lastName arg2; } var x new MyFunction(John, Doe); x.firstName; // 返回 Johnthis指向新创建的对象实例特点创建新对象继承构造函数的属性和方法(4) 使用call()和apply()方法调用function myFunction(a, b) { return a * b; } // 使用call()方法 myFunction.call(null, 10, 2); // 返回 20 // 使用apply()方法 myFunction.apply(null, [10, 2]); // 返回 20this指向第一个参数指定的对象第一个参数为null时this指向全局对象特点可以显式指定函数执行时的this值2. 参数传递机制基本类型字符串、数字按值传递function changeValue(x) { x 10; } let num 5; changeValue(num); console.log(num); // 输出 5未改变对象和数组按引用传递函数内修改会影响原对象function changeObject(obj) { obj.name Updated; } let person { name: Original }; changeObject(person); console.log(person.name); // 输出 Updated被修改3. 函数调用的注意事项(1) 参数处理JavaScript不校验参数个数少传或多传都不会报错未传入的参数在函数内为undefinedfunction add(a, b) { return a b; } add(5); // 返回 NaN因为b为undefined(2) 返回值**忘记写return**会导致函数返回undefined链式调用时如果前一个函数没有返回值后续操作会中断(3) 函数提升函数声明会被提升hoisted可以在定义前调用myFunction(); // 正常工作 function myFunction() { /* ... */ }函数表达式不会提升必须先定义再调用myFunction(); // 会报错myFunction is not a function const myFunction function() { /* ... */ };(4) 箭头函数的限制箭头函数没有自己的thisthis指向定义时的上下文箭头函数没有arguments对象箭头函数不能用作构造函数不能使用new4. 实际应用示例(1) 函数作为回调函数// 函数表达式适合作为回调 setTimeout(function() { console.log(Timeout completed); }, 1000);(2) 递归函数function factorial(n) { if (n 0) return 1; return n * factorial(n - 1); } console.log(factorial(5)); // 120(3) 使用call/apply改变this指向const person { name: John, greet: function(greeting) { return greeting , this.name; } }; const anotherPerson { name: Jane }; console.log(person.greet.call(anotherPerson, Hello)); // Hello, Jane5. 最佳实践避免全局函数尽量将函数定义为对象方法减少全局命名空间污染使用函数表达式当需要将函数作为参数传递时如回调函数注意this指向在需要动态this的场景如事件处理器中避免使用箭头函数检查参数在函数内部检查必要参数是否传入使用return确保函数返回预期值特别是在链式调用中记住JavaScript函数是对象它们可以被赋值给变量、作为参数传递、返回其他函数这些都是函数式编程的基础。❤️❤️❤️本人水平有限如有纰漏欢迎各位大佬评论批评指正如果觉得这篇文对你有帮助的话也请给个点赞、收藏下吧非常感谢! Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询