函数表达式
在 JS 中, 可以像普通变量一样, 将函数赋值给某一个变量
也可以将函数作为另一个函数的参数, 或者把函数作为另一个函数的返回值
(这个特性, 将函数在 JS 中称为"一等公民"
)
将函数赋值给某一变量🍭
// 函数表达式 let add = function() { let ret = 0; for(let x of arguments) { ret += x; } return ret; } // 执行函数表达式 console.log(add(10, 20)); // 变量的类型 console.log(typeof(add));
将函数作为另一个函数的返回值🍭
function f2() { console.log("执行 f2() "); return 10; } function f1() { return f2; } let fun = f1(); console.log(fun());
变量的作用域
观察如下代码🍭
let num = 1; function test1() { let num = 2; function test2() { let num = 3; console.log("test2: " + num); } test2(); console.log("test1: " + num); } test1(); console.log("global: " + num);
运行结果🍭
结果分析🍭
在 JS 中
会先寻找当前函数作用域, 如果当前没有, 就去寻找上层函数作用域…, 一直找到全局作用域
如果全局作用域也没有, 就会报错 / undefined
🔎对象
对象是指一个具体的事物
在 JS 中, 字符串, 数值, 数组, 函数…都是对象
每个对象包含若干的属性和方法
对比 JS 中的对象与 Java 中的对象🍂
- JS 中的对象没有类的概念
- JS 中的对象没有 Private / Public 等修饰符
- JS 中的对象没有继承
- JS 中的对象没有多态
使用{ }创建对象
let student = { name: 'cxk', age: 25, height: 185, weight: 70, sing: function() { console.log('鸡你太美'); }, dance: function() { console.log('铁山靠'); } };
使用 new Object 创建对象
let student = new Object(); student.name = 'cxk'; student.age = 25; student.height = 185; student.weight = 70; student.sing = function() { console.log('鸡你太美'); } student.dance = function() { console.log('铁山靠'); }
注意🍭
使用 { } 创建对象也可以利用 student.age = 18 这样的方式添加属性
🔎结尾
创作不易,如果对您有帮助,希望您能点个免费的赞👍
大家有什么不太理解的,可以私信或者评论区留言,一起加油