JS函数为什么经常会申明一个变量等于0??什么意思?

JavaScript012

JS函数为什么经常会申明一个变量等于0??什么意思?,第1张

一般初始化为零的意义在于这个变量将要进行数型运算一般数型的初始值为零,所以就让变量等于零;

变量初始化未必一定要为零,或者也可以初始化成布尔值,比如“var i=flase”“var i=null”;

当然变量也可以不初始化,写成“var i”,不初始化的话必须加上变量声明var,否则会报错。

1、 不需要初始化变量

1)ng-model绑定变量一般不需要初始化的,ng-model会自动初始化变量(ng-model是在有值才初始化对象)

特点:如果在ng-model填写值之前使用对象,此对象必须初始化;

2、需要初始化的对象

1)$scope域下面绑定了对象,且此对象调用了其他的方法,或者是调用其他属性操作,此对象必须初始化;

换句话说这个对象,调用其成员方法和成员变量;

例如:

$scope.entity.url=data//此时entity对象必须初始化;

$scope.entity.push({})//此时entity对象必须先初始化;

我了解到的是:立即执行函数可以避免函数内的变量暴露在全局环境下,避免全局变量的污染。

这种模式是非常有用的,因为它为你初始化代码提供了一个作用域的沙箱;

考虑一下下面这种常见的场景:

你的代码在页面代码加载完成之后,不得不执行一些设置工作,比如附加时间处理器,创建对象等等,

所有的这些工作只需要执行一次,所以没有理由创建一个可复用的命名的函数,

但这些代码也需要一些临时的变量,但初始化过程结束后,就再也不会被用到了,

所以将这些变量作为全局变量不是个好主意,所以我们需要立即执行函数——去将我们所有的代码包裹在它的局部作用域中,不会让任何变量泄露成全局变量;