JavaScript基础:定义函数时用var和不用var的区别

首先看两种函数声明:

var square1 = function (x){

return x*x;

}

function square2(x){

return x*x;

}

两者看似不同,在大多数使用的时候也并无太大区别,但是第一种使用时有时会报错,如:

var r1=square1(x);

var r2=square2(x);

var square1 = function (x){

return x*x;

}

function square2(x){

return x*x;

}

javascript在执行到第一条代码时就会报错,square1 is not a function;

这是因为用var 通过函数表达式声音函数赋给变量的时候,变量声明提前,但是其值还是undefined;

而用function 声明的时候,整个函数体和值都提前了,所以不会报错!

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。