小脑斧 发表于 2020-5-4 23:44:23

JS.005:函数内容总结

本帖最后由 小脑斧 于 2020-5-5 12:54 编辑

知识点
### 函数的定义
- 函数声明
<font size="3"><font size="2"><font color="#808080">function </font>函数名(){
// 函数体</font></font>
}
- 函数表达式
var fn = function() {
// 函数体
<font color="#808080">}</font>
### 函数的参数
- 语法:
// 函数内部是一个封闭的环境,可以通过参数的方式,把外部的值传递给函数内部
// 带参数的函数声明
function 函数名(形参1, 形参2, 形参...){
// 函数体
}
// 带参数的函数调用
函数名(实参1, 实参2, 实参3);</strong>
- 形参和实参
1. 形式参数:在声明一个函数的时候,为了函数的功能更加灵活,有些值是固定不了的,对于这些固定不了的值。我们可以给函数设置参数。这个参数没有具体的值,仅仅起到一个占位置的作用,我们通常称之为形式参数,也叫形参。
2. 实际参数:如果函数在声明时,设置了形参,那么在函数调用的时候就需要传入对应的参数,我们把传入的参数叫做实际参数,也叫实参。
### 函数的返回值
返回值语法://声明一个带返回值的函数
function 函数名(形参1, 形参2, 形参...){
//函数体
return 返回值;
}
//可以通过变量来接收这个返回值
var 变量=函数名(实参1,实参2, 实参3);### 匿名函数
匿名函数:没有名字的函数
### 自调用函数
匿名函数不能通过直接调用来执行,因此可以通过匿名函数的自调用的方式来执行
<font color="black">(function () {
alert(123);
})();</font>
函数:一种数据类型
function fn() {}
console.log(typeof fn);### 全局变量和局部变量,作用域见JS.001:为什么声明要加var

### 作用域链
### 对象创建方式
- 对象字面量
var o = {
name: 'zs',
age: 18,
sex: true,
sayHi: function () {
console.log(this.name);
}
};
- new Object()创建对象
var person = new Object();
person.name = 'lisa';
person.age = 35;
person.job = 'actor';
person.sayHi = function(){
console.log('Hello,everyBody');

- 工厂函数创建对象function createPerson(name, age, job) {
var person = new Object();
person.name = name;
person.age = age;
person.job = job;
person.sayHi = function(){
    console.log('Hello,everyBody');
}
return person;
}
var p1 = createPerson('张三', 22, 'actor');
- 自定义构造函数(首字母大写)function Person(name,age,job){
this.name = name;
this.age = age;
this.job = job;
this.sayHi = function(){
          console.log('Hello,everyBody');
}
}
var p1 = new Person('张三', 22, 'actor');

如有错误,欢迎敲打{:10_256:}

_2_ 发表于 2020-5-5 08:43:44

<font size="2">var o = {
name: '不二',
age: 1000,
sex: true,
sayHi: function () {
console.log(this.name);
}
};</font>

小脑斧 发表于 2020-5-5 11:34:41

_2_ 发表于 2020-5-5 08:43


好的

_2_ 发表于 2020-5-5 12:35:01

小脑斧 发表于 2020-5-5 11:34
好的

{:10_256:}
@不二如是
页: [1]
查看完整版本: JS.005:函数内容总结