js基础知识(一)——数据类型

        做前端的小伙伴都知道,前端是一个发展很快的行业,各种流行框架,工具层出不穷,很多时候,刚刚熟练一个框架,又一种新的框架出现了,这个时候如果基础知识不扎实,对基础理解不透彻,那么学习新的东西会很吃力,没有办法深入的去理解其中的原理,会走不少弯路,所以基础是非常非常重要的。

我作为一名转行的前端开发人员,深切体会到基础的重要性,所以我会在业余时间,经常会看一看前端的基础知识,每一次都有更深的理解,对自己在工作中有很大的帮助。

下面我总结一下前端所必须要掌握的基础知识:

一、数据类型:

(1)基本类型:五种

undefined、null、boolean、Number、String

检测基本类型:使用 typeof ;注意:使用typeof null 会返回object,null表示一个空对象指针。

(2)引用类型:object、Array、RegExp、Date、Function、特殊的基本包装类型(String、Number、Boolean)以及单体内置对象(Global、Math)。

引用类型是保存在内存中的对象,引用类型的值是按引用访问,javaScript在操作对象时,实际上是操作对象的引用而不是实际的对象。

检测引用类型,根据它的原型链来判断:instanceof

(3)两种数据类型的区别:

 ① 引用类型值可添加属性和方法,而基本类型值则不可以。

 ② 在复制变量值时,基本类型会在变量对象上创建一个新值,再复制给新变量。此后,两个变量的任何操作都不会影响到对方;而引用类型是将存储在变量对象的值复制一份给新变量,但是两个变量的值都指向存储在堆中的一个对象,也就是说,其实他们引用了同一个对象,改变其中一个变量就会影响到另一个变量。

二、重要数据类型的常用方法:

(1)Array类型

①检测数组:

使用Array.isArray(arr)和Oblect.prototype.toString.call(arr)是比较好的方法,其他方法的缺点可以查看一下文章:js检测是否为数组的方法

②数组去重至少知道3种 数组去重的常用的3种方法

③数组排序至少知道3种方法数组排序的方法

④数组提供的api用法和区别:

push(),pop(),unshift(),shift(),reverse(),sort(),slice(),splice(),indexOf(),every(),some(),filter(),forEach(),map(),reduce(),concat()

(2)正则表达式 正则表达式基础知识

(3)string类型

①字符方法:charAt(),charCodeAt();字符串操作法:concat(),slice(),substr(),substring();

字符串位置方法:indexOf(),lastIndexOf();

trim()方法;字符串大小写转换:toLowerCase()、toUpperCase();

字符串模式匹配方法:match(),search(),replace(),split(),fromCharCode()

②字符串去重字符串去重

(4) Math()对象

①min(),max(),如找出数组中的最大,最小值,可以向下面这样使用:

var arr = [1,2,3,4,5];

var max = Math.max.apply(Math,arr);

巧妙的把Math对象作为apply()的第一个参数,正确的设置this指向

②舍入方法

Math.ceil(),Math.floor(),Math.round()

③随机数

Math.random()

④其他方法

Math.abs(),Math.PI()...

你可能感兴趣的:(js基础知识(一)——数据类型)