JS函数

1.匿名函数:不能单独写在页面内

作用:赋值,传参
(匿名函数可作为参数)

2.有名函数:在function后加名字

(1)可加括号自执行
(2)可把名字直接放在事件位置
例:
function a(){
alert(666);
}
document.onclick = a;

回顾:数据类型:num String boolean null undefined object
typeof:把null归为object,增加function
函数表达式和函数定义的区别:函数表达式可直接加括号自执行;
            例:var a = function(){
                        alert(1);
            }();//可执行
将匿名函数强转为函数表达式的方法:在前面加 位操作符(~ + - !)或(function(){……});

函数参数:

1.形参
2.实参

ps:实参多于形参时,多出部分相当于没有,实参少于形参时,未接收到数据的形参为undefined

关于null和undefined

null指向一个空的对象地址,因此typeof将null归为object
if(null==undefined){
alert(1);
}
else{
alert(0);
}//弹出1,在逻辑运算中null和undefined相等,但不全等,原因就是他们是两种不同的数据类型

    undefined 不报错 声明但未定义
    is not defined 报错,未声明
3.不定参:arguments代表不定参数的集合
            例:function fn(){
                    var sum=0;
        for (var i = 0; i < arguments.length; i++) {
                            sum+=arguments[i]
                        }
                    alert(sum);
                }
                fn(1,2,3,4,5);//弹出15

function和object的区别

            function:call(obj,[arguments,[]]);
                      apply();
                                                                                             并且function拥有obj所有方法
    若用instanceof检验,object和function互相继承

JS代码解析:

第一步,解析定义,包括变量定义和函数定义,普通变量重名,后者覆盖前者。但若定义函数名和普通变量重名,函数优先级大于普通变量(var)
第二步,解析执行,除定义之外的部分,包括赋值,运算等等
                    例1:A();
                    function A(){
                            alert(0);
                    }//从上至下,先看定义,第79行定义了函数A,再执行,78行执行后弹出0



                    例2:alert(a);
                        var a = 10; //从上至下,先看定义,此时a=10,再看执行,由于86行alert括号内重新声明了a,所以此时a变为undefined。但若把87行去掉,由于少了var这一环节,所以程序报错
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值