zweizhao.github.io

项目,文章,随笔,博客,Markdown,个人网站,人生感悟。

View on GitHub

以下内容不涉及严格模式,因为当你使用webpack等打包工具会自动转为严格模式,假如你用来写常规的js文件,没必要使用严格模式。

关于严格模式相关,后续有机会单独写,现在急着了解可以自行查阅,关键词:use strict

本人不喜欢冒号,如果有感觉不适的,请坚持下去。。。

JS怎么用

相关CSS类比见文章:CSS入门之引用

内部标签与引用当然可以混写,因为是标签,所以理论上可以写在任何html内,head内也可以写,混写在其他标签内也可以,这里是推荐写在body后面,主流也是写在body后面,写在head等地方,唯独的可能性需求就是优化,这些不在此列。希望各位上手过程中,知道写在body的最后就行。


变量知识体系

图片描述

动态类型

所谓动态类型是相对于静态类型而言,形如C家族系列语言可视为静态类型代表,如:


var

不再推荐


let

ES6 强烈推荐,尽量完全替代var

let基本与var相同,唯一也是最大的区别就是,let锁定作用域,会被代码块(if, for等的大括号)作用,如:

if(1) {
    var a = 1
}

if(1) {
    let b = 2
}

console.log(a)
console.log(b)

作用域提升属于奇淫巧技,在你非常熟练的情况下,可以带来一点点的优势,但是一旦牵扯到合作等非单人项目,会坑死队友,所以强烈推荐let,不要使用var,除非你非要去弄什么ie,然后还不webpack工具打包处理。。。

const

常量,不要滥用,明确使用场景是重要的。

按说常量不算是变量体系内容,但是JS的这个常量比较特别,具体如下:

const a = 1
// 报错,因为是常量,不能修改。
a = 2 // Assignment to constant variable.

const b = {
    b1: 1
}
b = 2 // 报错没问题
b.b1 = 2 // 正确

没错,JS的常量就是说这个首次赋值后,不能对变量本身再赋值,但是可以对变量的属性赋值。。。


文章如果能给你带来一点帮助,我就很开心了。 我是风蓝小栖,喜欢我的文章,请随手关注一下,定期更新,慢慢干货。