js函数

函数声明

第一种函数声明的方式

function f(x){      //指出这是一个函数定义;f代表函数名称;
                    //括号里的x代表函数的参数,可以有多个参数,用逗号隔开;
                    //{.....}代表函数体,可以包含若干语句,甚至是空的
    if (x > 0) {
        return x;
    }else {
        return -x;
    }
}

第二种声明方式

var sum = function (x) {
    if (x >= 0) {
        return x;
    }else {
        return -x;
    }
};

函数调用

sum(2,3)

避免参数为undefined,可以队参数进行检查

function f1(x) {
    if (typeof x !== 'number') {
        throw '输入的类型不属于number';
    }
    if (x >= 0) {
        return x;
    }else {
        return -x;
    }
}

变量

js中,定义的变量是有作用域的
不同函数内部的同名变量互相独立,互不影响

  1. 如果一个var变量在函数体内部申明,则该变量的作用域为整个函数体,在函数体外不可引用该变量
function sum(){
    var x = 0;
    x = x + 1;
}

x = x + 2; // ReferenceError! 无法在函数体外引用变量x
  1. 由于JavaScript的函数可以嵌套,此时,内部函数可以访问外部函数定义的变量,反过来则不行:
function sum2() {
    var x = 1;
    function s1() {
        var y =  x + 1;   // showtime可以访问garden的变量x!
    }
    var z = y + x;		// ReferenceError! garden不可以访问showtime的变量y!
}

变量提升

function foo() {
    var x = 'Hello ' + y;
    console.log(x);   //输出结果是Hello undefined
    var y = 'baby'
}

这样的代码,声明提升到它所在作用域的顶端去执行,到我们代码所在的位置来赋值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值