前端语言串讲
前端技术发展日新月异,回顾一下前端的基本知识HTML/CSS/JS三剑客,千里之行始于足下,再复习一下三剑客的相关知识、它们之间的配合、html5的一些知识、并拓展一些其他小知识。
前端三剑客
大名鼎鼎的三剑客绝对无人不知无人不晓吧。HTML、CSS、JS。它们三个的关系我们把页面用一个人来比喻的话,HTML是人的骨头架子,CSS是人的皮囊,JS是人进行活动的基础---肌肉。三个缺一不可。
- HTML
HTML是页面的基础结构,我们写一堆HTML代码,呈现在页面上就类似一个没有排版的word文档(没加css的情况下)。用<html><body><span><div><li><img>之类的东西(标签)来作为页面的元素构成网页。
- CSS
CSS作为页面这个人身上的皮囊,自然是美化HTML的。也可以根据不同的设备和屏幕响应式布置页面,就像人不同的场合穿不同衣服。CSS的写法有很多,在html标签内、在<style>标签里,还有啥说不出来了。
JS
JS为我们的界面增加了效果,比如点击按钮会发生啥事,比如表单校验。
它有八种数据类型,Number、Object、String、Boolean、Undefined、Null、Symbol、BigInt。后面两种是ES6新增的Symbol创建后独一无二不可变,BigInt可以是任意精度的整数。
这八种数据类型分为原始数据类型和引用数据类型。
- 原始数据类型(除Object)直接存放在栈,因为他们占据空间小,大小固定,而且被频繁使用
- 引用数据类型(对象、数组、函数)存放在堆,而把指向数据的指针放在栈。当需要他们的时候,从栈中得到指针检索(所以const的引用数据内的元素是可变的,const固定的只是他们的指针所在地址)
上文提到的const是js中用来声明变量的关键字,他的好兄弟还有let和var
let a = {
age:12
}
const b = ['b1','b2']
var c = function(){
console.log('c')
}
let和const会形成块级作用域,出现暂时性死区。他们俩出现的原因就是使用var的时候会出现变量提升。所以现在提倡使用他们俩。
上文的代码中,a是一个对象,内部的age键的值是Number类型的12。对象里面除了age还可以有很多的属性,值可以是函数、字符串等等都行。
我们可以访问对象的属性,比如a.age输出12,比如a.name = 'tom'就是给a对象新增一个name属性
而里面的c是一个函数,作用是在控制台打印出c字母
在函数里,我们可以传入参数,也可以返回值。写法也不拘泥,可以用箭头函数写法,可以直接函数声明
//箭头函数
var c = ()=>console.log('c')
//函数声明
function c(){console.log('c')}
小结
先写这么多了。把脑子里的三剑客过了一遍。