2026/4/2 20:39:44
网站建设
项目流程
it网站制作策划,phpcms可以做网站吗,网站常用参数,wordpress怎么调用分类的文章列表目录
1 函数的深入理解
1.1 函数的返回值#xff08;return#xff09;
1.1.1 基本语法
1.1.2 使用要点
1.1.3 返回值类型
1.1.4 流程控制对比
1.2 arguments 对象
1.2.1 特性
1.2.2 应用场景
1.2.3 arguments.callee
1.3 函数方法对比
1.3.1 传参方式
1.3.2 th…目录1 函数的深入理解1.1 函数的返回值return1.1.1 基本语法1.1.2 使用要点1.1.3 返回值类型1.1.4 流程控制对比1.2 arguments 对象1.2.1 特性1.2.2 应用场景1.2.3 arguments.callee1.3 函数方法对比1.3.1 传参方式1.3.2 this 指向规则1.4 函数嵌套调用1.5 立即执行函数(IIFE)1.5.1 特点1.5.2 实现方式1.5.3 参数传递2 数据存储机制2.1 数据类型比较2.2 原型系统1 函数的深入理解1.1 函数的返回值return1.1.1 基本语法function functionName() { return resultValue; } functionName();1.1.2 使用要点函数执行后通过return将结果返回给调用者函数调用表达式functionName()的值即为return后的值可通过变量接收返回值var result fn();return会立即终止函数执行只能返回单个值如需返回多个值可使用数组或对象可返回任意数据类型无返回值的return等价于返回undefined函数若未显式使用return默认返回undefined1.1.3 返回值类型基本类型引用类型对象/数组函数1.1.4 流程控制对比break终止当前循环continue跳过本次循环return终止整个函数并返回值 示例求两数最大值function getMax(a, b) { return a b ? a : b; }1.2 arguments 对象函数调用时自动接收的两个隐式参数上下文对象this实参集合arguments1.2.1 特性类数组对象具有length属性支持索引访问无数组方法1.2.2 应用场景存储所有传入实参即使未定义形参也能获取实参arguments[0]; // 首参数 arguments[1]; // 次参数1.2.3 arguments.callee引用当前执行函数了解即可 示例1求任意个数最大值function getMax() { let max arguments[0]; for (let i 1; i arguments.length; i) { if (arguments[i] max) max arguments[i]; } return max; } 示例2闰年判断function isLeapYear(year) { return (year % 4 0 year % 100 ! 0) || year % 400 0; } 面试要点伪数组与真数组的区别常见伪数组获取方式argumentsDOM集合如getElementsByTagName1.3 函数方法对比 核心区别三者均可改变函数this指向call()/apply()立即执行bind()返回新函数1.3.1 传参方式call(thisObj, arg1, arg2)apply(thisObj, [args])bind(thisObj, arg1, arg2)1.3.2 this 指向规则普通调用this指向window方法调用this指向调用对象构造函数this指向新实例call/apply/bindthis指向指定对象1.4 函数嵌套调用函数应保持单一职责原则可通过嵌套实现复杂逻辑function fn1() { console.log(111); fn2(); console.log(fn1); } function fn2() { console.log(222); console.log(fn2); } fn1(); 示例判断2月天数function checkFebruaryDays() { const year prompt(输入年份); alert(isLeapYear(year) ? 闰年2月29天 : 平年2月28天); }1.5 立即执行函数(IIFE)1.5.1 特点定义后立即执行通常只执行一次避免全局污染1.5.2 实现方式(function() { // 代码块 })(); (function() { // 代码块 }());1.5.3 参数传递(function(a, b) { console.log(a${a}, b${b}); })(123, 456);2 数据存储机制2.1 数据类型比较数据类型分类基本类型string, number, boolean, undefined, null引用类型object, function...let a 1; let b 1; console.log(a b); // true值比较 let obj1 { name: jack }; let obj2 { name: jack }; console.log(obj1 obj2); // false地址比较2.2 原型系统function Person(name, age) { this.name name; this.age age; } // 函数的prototype属性显式原型 Person.prototype.sayHi function() { console.log(hello); }; let p1 new Person(jack, 18); // 实例的__proto__属性隐式原型 console.log(Person.prototype p1.__proto__); // true console.log(p1.__proto__.__proto__.toString); // 原型链查找