JS中函数的写法

123 阅读1分钟

1.普通函数

//常规写法 这是函数声明
function greet(name) {
  return `Hello, ${name}!`;
}
//函数调用
greet('老王')//Hello,老王

2. 匿名函数

//这种函数没有名字,通常作为回调函数使用。
setTimeout(function() {
  console.log('Hello, world!');
}, 1000);
或者
//函数表达式
const fun = function(){
    console.log('左边是变量,右边是函数表达式,把一个匿名函数赋值给了变量 fun')
 }
 //调用
 fun()

3.将方法作为一个对象

let obj = {
    say:function(){
    alert('这个必须放在一个对象内部,放在外边会出错')
    }
}
//调用方法
obj.say()

4.构造函数

//js中的每个对象都有prototype属性,Js中对象的prototype属性的解释是:返回对象类型原型的引用。
//这种函数用于创建新的对象。构造函数通常首字母大写,使用`new`关键字调用。

function Person(name, age) {
  this.name = name;
  this.age = age;
}
const bob = new Person('Bob'30);
console.log(bob)// {name: 'Bob', age: 30}
备注:
在JavaScript中,构造函数是用来创建新对象的特殊函数。当你使用`new`关键字调用一个函数时,JavaScript会执行以下步骤:

1.  创建一个新的空对象。
2.  将这个新对象的原型设置为构造函数的`prototype`属性。
3.`this`绑定到这个新对象,并执行构造函数的代码(这会修改这个新对象)。
4.  如果构造函数返回一个对象,那么这个对象会被返回。否则,返回`this`(也就是新创建的对象)

5.箭头函数

//ES6引入的新类型的函数,使用`=>`符号定义。
//箭头函数没有自己的`this`,`this`的值在函数创建时就被确定了
//箭头函数的语法更简洁。
//如果函数体只有一条语句,甚至可以省略大括号和`return`关键字。
const greet = (name) => `Hello, ${name}!`;

6.立即执行函数表达式(IIFE)

//这种函数在定义后立即执行**
(function() {
  console.log('Hello, world!');
})();

7.异步函数

async function fetchData() {
  const response = await fetch('https://api.example.com/data');
  const data = await response.json();
  return data;
}