js之ECMA基础

说明

最近5年一直从事后端开发和系统架构工作,虽然早年是个全栈工程师,现在很多细节也已忘记。现在重新学习记录随笔,只记下自己觉得有必要记录的内容,过于基础或者显而易见的知识,就不再赘述了。

数据类型

js是一个弱类型语言,变量通过var关键字声明变量,不需要像java一样定义变量类型。

var v1 = 10;
var v2 = “hello”;

尽管不用声明类型,但v1和v2的确是不同类型的变量,js会根据赋值判断出变量类型。

js中默认有以下基本类型:

  • boolean
  • number
  • string
  • object
  • function
  • undefined

前3个很好理解,就不说了。除此之类,几乎所有有赋值的变量其类型都是object。如果没有赋值,那么该变量就是undefined。

js中通过typeof运算符获取类型。

var o1 ;
console.log(typeof o1);//输出undefined
var o2 = {};
console.log(typeof o2);//输出object

var o3 = function(){
	return "f";
}
console.log(typeof o3);//输出function

var o4 = null;
console.log(typeof o4);//输出object

o4很奇葩是不,null的类型是object?嗯全世界都这么认为,但是js里null和undefined就是不一样,前者会占据一个内存,表示这个变量是null,所以它的类型是object。
再通俗一点,null表示我赋值了,值就是null,因为有赋值,所以类型是object;而undefined纯粹表示没有赋值,这就是两者的区别。

除此之类,还有Date、Array等类型,但是它们的typeof运算符都返回object。所以记住这句话,js中所有的都是对象,包括string、number、boolean、function(尽管typeof返回的不是object)
对象自然有属性和方法。对于上述各类对象,只是属性和方法不同罢了。

好了,我觉得理解了类型、对象等基本概念,再加上本就熟悉的语法知识,js最基本的对象算是温习一遍了。但是要做到熟练,还得熟悉基本类型对象的属性和方法。

以下贴出一些基本类型的在线学习网站页面:

string

https://www.runoob.com/js/js-obj-string.html

number

https://www.runoob.com/js/js-obj-number.html

boolean

https://www.runoob.com/js/js-obj-boolean.html

date

https://www.runoob.com/js/js-obj-date.html

array

https://www.runoob.com/js/js-obj-array.html

希望读者至少过一遍,即使记不住也没关系,先混个眼熟。以后自己写代码或者读别人代码遇到不懂的地方,回过头也知道在哪里查资料。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值