js中创建函数的三种方式

js中创建函数的三种方式:函数声明,函数表达式,函数对象方式.

函数声明

function sum1(num1,num2){
    return num1+num2;
}

函数表达式

var sum2 = function(num1,num2){
    return num1+num2;
}

函数对象方式

var sum3 = new Function("num1","num2","return num1+num2");
console.log(sum3(2,3));//5
一般不推荐用这种方法定义函数。

函数声明在代码执行以前被加载到作用域中,函数表达式则是在代码执行到那一行的时候才会有定义

扩展

delete

delete可以删除对象属性及变量
对象属性可以删除,直接用delelte删除不了变量,删除不了原型链中的变量

1
2
3
4
5
6
7
8
对象属性
function fun(){
this.name = 'mm';
}
var obj = new fun();
console.log(obj.name);//mm
delete obj.name;
console.log(obj.name); //undefined

1
2
3
4
变量
var name = 'lily';
delete name;
console.log(name); //lily
1
2
3
4
原型链中的变量
fun.prototype.age = 18;
delete obj.age;
console.log(obj.age) //18