前端随笔(一)关于Js的一点基础

在讲正事之前:
笔者是一个非计算机背景的coder,只是很喜欢创造一个世界乐趣,可以用自己的代码去创造一个世界,是一种只有造物主才能体验的乐趣,所以笔者在大学的时候乐此不疲的去学习很多东西,和很多非计算机的小白一样,并没有那么扎实的基础,但是也很感谢没有那么扎实的基础,可能那么走一遭,笔者就和很多人一样也就放弃了吧,折腾过移动端,折腾过后端,也折腾过机器学习,渗透逆向,基本所有的方向笔者都折腾过了,基本是看这什么就觉得很厉害,就去立马去学习,但是在逐渐的学习中,就慢慢的就感觉自己不是那么适合,就选择换了一个方向,导致笔者各个方向都了解一点,但是就了解不深,但是因为这种乱撞的学习方式,让我感觉这是一个广阔的世界。选择好了世界,就差自己为这个世界添加砖瓦的时候到了,就像是先去打探这个世界的边界,再开始好好玩这个游戏,要是世界太小,那岂不是很容易到天花板,哈哈哈,开始讲正题咯。
其实关于js笔者都写了很久了,但是对一些基础模模糊糊, 不是很了解,所以呢,温故知新,在一次次的重温基础的时候,又会重新明白很多东西,也是自己的一次重新的吸收吧,不废话啦。
第一个知识点:(其实笔者第一次见到这个已经没有印象啦,可能是基础实在是太弱了)
1.js有那些类型呢?
其实呐,js分为值类型和引用类型,其实和一般的强类型语言没有什么差距啦。值类型和引用类型的区分其实是根据内存的存储的方式,而不是根据typeof是否是object之类的。
其中值类型是有Number,String,Undefined,Boolean,Null。
引用类型Object,Array,Function。
这里会引申出怎么判断一种变量到底是什么类型的呢?
首先我们学到的就是typeof,这是一种比较简单且自带的方式去判断一种变量到底是什么类型。
但是有个问题是,typeof能够判断值类型,判断不了引用类型,他都会判断成Object,Null也是引用类型。
那么怎么处理这种情况呢,如何精确的判断Array,Function,Object呢?我们这里使用一个方法Object.prototype.toString.call(var);(zepto里面貌似有个长得像但是有点意思的写法,之后笔者会讲)
2.强制转换类型的情况
1.字符串拼接 eg:1+‘’会变成'1' 2-'1' 会是1 有些人会使用1231313+‘’ 来使数字转换成字符串,有些会String() 还有一些情况,之后会在这里补充。
2.==运算符 null == undefined 会转换然后返回true
3.if语句里面最后会转换成boolen eg:0,NaN,‘’,null,undefined都会成为false
4.逻辑运算(逻辑运算这里其实最后返回的值其实有一些妙用)
就到这里啦,其实里面还有一些比较细枝末节的地方需要大家自己在实际中慢慢学习,欢迎提出意见。

你可能感兴趣的:(前端随笔(一)关于Js的一点基础)