最后
推荐一些系统学习的途径和方法。
每个Web开发人员必备,很权威很齐全的Web开发文档。作为学习辞典使用,可以查询到每个概念、方法、属性的详细解释,注意使用英文关键字搜索。里面的一些 HTML,CSS,HTTP 技术教程也相当不错。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
HTML 和 CSS:
================================================================
熟悉面向对象变成语言像java、c++、Dot Net的,了解这些语言对变量的命名时都需要声明变量是那种类型,若对变量赋予另一种类型对象时,程序在编译时会产生error,我们反观javascript,使用var variable变量时并没有声明变量类型,此时变量是undefined,在对变量赋值时任何类型都可以,这体现了JavaScript是弱类型语言,不需要编译即可运行。既然变量都是用var声明那么怎么区别变量的类型呢?
==============================================================================
在es5版中js有五种基本数据类型,即: Undefined、Null、Boolean、Number和String,还有另一类引用类型,像Object、Function、Array,还有一些内置对象,像Math、Date、RegExp、Bom、Dom等等。常用到的就是typeof来判断变量类型,对引用类型除了Function函数,缺点就是还有一些无法区分类型的,像Null和Array、Math、Date、RegExp等引用对象。
var und=undefined
console.log(typeof unde); //undefined
var n=null;
console.log(typeof null); //object
var bool=true;
console.log(typeof bool); //“boolean”
var num=1
console.log(typeof num); //“number”
var str=“1”
console.log(typeof str); //“string”
var obj={};
console.log(typeof obj); //object
var fun=function(){};
console.log(typeof fun); //function
var arr=[];
console.log(typeof arr); //object
console.log(typeof Math); //object
console.log(typeof new RegExp()); // object
=========================================================================
对于引用类型或者有构造器的函数对象,可以用这个instandof区分变量是否是该对象的子类或者派生出来的。缺点无法区别五大基本类型。
//是否为数组
function judgeArray(arr){
if(typeof arr ==“object”){
console.log(arr instanceof Array)
return true
}
return false
}
var arr=[];
judgeArray(arr); //true
var obj={};
judgeArray(arr); //false
===================================================================
创建一个对象时js会在该对象的原型链prototype属性上添加构造器,该构造器同时又指向了自身,即new Array().constructor==Array,为true。缺点无法区别五大基本类型。
console.log([].constructor==Array) ;//true
console.log(new Object().constructor==Object) ;//true
===================================================================
紧跟潮流
大前端和全栈是以后前端的一个趋势,懂后端的前端,懂各端的前端更加具有竞争力,以后可以往这个方向靠拢。
这边整理了一个对标“阿里 50W”年薪企业高级前端工程师成长路线,由于图片太大仅展示一小部分