js只对等号左边的进行变量提升

### 只对等号左边的进行变量提升
> =:赋值,左边是变量,右边都应该是值

```javascript
//之前
i%2 === 0?item.className = 'c1':item.className='c2';
//现在
item.className = i%2===0?'c1':'c2';
```


```javascript
//匿名函数:函数表达式(把函数当做一个值赋值给变量或者其它内容)
oDiv.onclick = function(){

}
//等同于oDiv.onclick == aaafff000
```

> 只对等号左边进行变量提升,右边是值,不会提前声明神明的
```javascript
//=>变量提升:var fn
//带var的只对等号左边的进行声明
console.log(fn);//=>undefined
var fn = function(){

};
console.log(fn);//=>函数本身
```

> 真实项目中,应用这个原理,我们创建函数的时候可以使用函数表达式的方式;
>1、因为只能对等号左边的进行提升,所以变量提升完成后,当前函数只是声明了,没有定义,想要执行函数(只能放在赋值的代码之后执行,放在前面执行相当于让undefined执行,会报错的)
>2、这样让我们的代码逻辑更加严谨,以后想要知道一个执行的函数做了什么功能,只需要向上查找定义的部分即可(不会存在定义的代码在执行下面的情况)

```javascript
sum();// Uncaught TypeError: sum is not a function
var sum = function(){

}

fn();
function fn(){//函数表达式的方式创建函数

}
```

```javascript

var fn = function sum(){
console.log(sum);//=>函数本身
console.log(1);//=>1
}
// sum();//=>Uncaught ReferenceError: sum is not defined
fn();
```

转载于:https://www.cnblogs.com/kpengfang/p/9865936.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值