javascript函数

javascript函数的基本部分不细述,与其他语言语法大致相同,我们来了解一些javascript函数的一些特有的:
1、 函数在js中是一个Function类型,与其他类型一样拥有属性和方法。
2、函数声明和表达式:js会率先解析声明,这样在哪调用都行,而表达式必须在执行后才能调用。
alter(sum());
function sum(){};
合法
alert(sum());
var sum=function(){};//不合法

3、 作为值的函数
函数可作为参数,也可作为结果

4、函数内部属性 argument和this
这是我们重点描述的部分了。
函数内部有arguments和this,其中arguments是一个类数组队形,包含传入函数的所有参数,并且有一个重要的属性,callee-指向拥有这个 arguments 对象的函数的指针。
我们来看看应用场景
function factorial(num){
if (num<=1) {return 1;}
else{
return num * arguments.callee(num-1);
}
}
用arguments.callee(num-1)替换factorial(num-1)这样的话如果函数名修改了,对函数的功能没有影响,减小了耦合。
this也是一个对象,稍微需要注意的是,在全局环境使用this引用的是window。

5、函数属性和方法
每个函数包括两个属性:length和prototype,
length表述函数希望接受参数个数,示例
function sayName(name){
alert(name);
}
function sum(num1,num2){
return num1+num2;
}

alert(sayName.length);
alert(sum.length);
结果是1,2
prototype下一节详细描述。

每个函数包含两个非继承而来的方法:apply()和call()
这两个方法作用是冒充函数,其最大的用处是处理作用域:
window.color="red";
var o={
color:"blue"
}
function sayColor()
{alert(this.color);}
sayColor();//red
sayColor.call(this);//red
sayColor.call(window);//red
sayColor.call(o);//red
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值